更新技能速度UI
This commit is contained in:
parent
4c180a2ef0
commit
d0770c018d
Binary file not shown.
BIN
ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0001.pdb
Normal file
BIN
ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0001.pdb
Normal file
Binary file not shown.
Binary file not shown.
BIN
ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0005.pdb
Normal file
BIN
ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0005.pdb
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2,7 +2,7 @@
|
||||
"BuildId": "37670630",
|
||||
"Modules":
|
||||
{
|
||||
"ProjectFish": "UnrealEditor-ProjectFish.dll",
|
||||
"ProjectFishEditor": "UnrealEditor-ProjectFishEditor.dll"
|
||||
"ProjectFish": "UnrealEditor-ProjectFish-0005.dll",
|
||||
"ProjectFishEditor": "UnrealEditor-ProjectFishEditor-0005.dll"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
BIN
ProjectFish/Content/UI/WBP_SkillSpeedText.uasset
Normal file
BIN
ProjectFish/Content/UI/WBP_SkillSpeedText.uasset
Normal file
Binary file not shown.
@ -202,6 +202,20 @@ void USkill::ApplyRemainingEnduranceOffset(int Offset)
|
||||
|
||||
}
|
||||
|
||||
FTimerHandle TimerHandle;
|
||||
|
||||
void USkill::ApplySkillSpeed(float offset, float duration)
|
||||
{
|
||||
OnSkillSpeedChanged.Broadcast(offset < 0 ? true: false, duration);
|
||||
GetSkillData()->Speed += offset;
|
||||
GetWorld()->GetTimerManager().SetTimer(TimerHandle, [&]()
|
||||
{
|
||||
UE_LOG(LogTemp, Log, TEXT("取消CD充能效果!"));
|
||||
GetSkillData()->Speed = 1;
|
||||
|
||||
}, duration, false); // 单次触发
|
||||
}
|
||||
|
||||
|
||||
class APawnWithSkill* USkill::GetOwner()
|
||||
{
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
|
||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FSkillUpdate);
|
||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FSkillExecute, const FString&, SkillName);
|
||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FSkillSpeedChanged, bool, bSpeedUp, const float&, DurationTime);
|
||||
DECLARE_MULTICAST_DELEGATE_OneParam(FSkillEnduranceChange, int32);
|
||||
/**
|
||||
*
|
||||
@ -45,6 +46,9 @@ public:
|
||||
|
||||
void ApplyRemainingEnduranceOffset(int Offset);
|
||||
|
||||
//修改技能速度
|
||||
void ApplySkillSpeed(float offset, float duration);
|
||||
|
||||
UFUNCTION(BlueprintPure)
|
||||
bool SkillTickAble();
|
||||
|
||||
@ -57,7 +61,8 @@ public:
|
||||
|
||||
UPROPERTY(BlueprintAssignable)
|
||||
FSkillExecute OnSkillExecute;
|
||||
|
||||
UPROPERTY(BlueprintAssignable)
|
||||
FSkillSpeedChanged OnSkillSpeedChanged;
|
||||
FSkillEnduranceChange OnSkillEnduranceChange;
|
||||
protected:
|
||||
|
||||
|
||||
@ -22,16 +22,16 @@ void USkillEffect_ModifySpeed::Execute(const FSkillContext& context)
|
||||
{
|
||||
//修改技能的冷却倍率
|
||||
USkill* skill = Cast<USkill>(target);
|
||||
skill->GetSkillData()->Speed = effectData.EffectValue;
|
||||
//延时结束效果
|
||||
GetWorld()->GetTimerManager().SetTimer(TimerHandle, [&]()
|
||||
{
|
||||
|
||||
UE_LOG(LogTemp, Log, TEXT("取消CD充能效果!"));
|
||||
skill->GetSkillData()->Speed = 1;
|
||||
|
||||
}, UKismetStringLibrary::Conv_StringToInt(effectData.ParamAddition), false); // 单次触发
|
||||
|
||||
skill->ApplySkillSpeed(effectData.EffectValue, UKismetStringLibrary::Conv_StringToInt(effectData.ParamAddition));
|
||||
//skill->GetSkillData()->Speed = effectData.EffectValue;
|
||||
// //延时结束效果
|
||||
// GetWorld()->GetTimerManager().SetTimer(TimerHandle, [&]()
|
||||
// {
|
||||
//
|
||||
// UE_LOG(LogTemp, Log, TEXT("取消CD充能效果!"));
|
||||
// skill->GetSkillData()->Speed = 1;
|
||||
//
|
||||
// }, UKismetStringLibrary::Conv_StringToInt(effectData.ParamAddition), false); // 单次触发
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user