更新技能速度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",
|
"BuildId": "37670630",
|
||||||
"Modules":
|
"Modules":
|
||||||
{
|
{
|
||||||
"ProjectFish": "UnrealEditor-ProjectFish.dll",
|
"ProjectFish": "UnrealEditor-ProjectFish-0005.dll",
|
||||||
"ProjectFishEditor": "UnrealEditor-ProjectFishEditor.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()
|
class APawnWithSkill* USkill::GetOwner()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FSkillUpdate);
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FSkillUpdate);
|
||||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FSkillExecute, const FString&, SkillName);
|
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);
|
DECLARE_MULTICAST_DELEGATE_OneParam(FSkillEnduranceChange, int32);
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -45,6 +46,9 @@ public:
|
|||||||
|
|
||||||
void ApplyRemainingEnduranceOffset(int Offset);
|
void ApplyRemainingEnduranceOffset(int Offset);
|
||||||
|
|
||||||
|
//修改技能速度
|
||||||
|
void ApplySkillSpeed(float offset, float duration);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure)
|
UFUNCTION(BlueprintPure)
|
||||||
bool SkillTickAble();
|
bool SkillTickAble();
|
||||||
|
|
||||||
@ -57,7 +61,8 @@ public:
|
|||||||
|
|
||||||
UPROPERTY(BlueprintAssignable)
|
UPROPERTY(BlueprintAssignable)
|
||||||
FSkillExecute OnSkillExecute;
|
FSkillExecute OnSkillExecute;
|
||||||
|
UPROPERTY(BlueprintAssignable)
|
||||||
|
FSkillSpeedChanged OnSkillSpeedChanged;
|
||||||
FSkillEnduranceChange OnSkillEnduranceChange;
|
FSkillEnduranceChange OnSkillEnduranceChange;
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|||||||
@ -22,16 +22,16 @@ void USkillEffect_ModifySpeed::Execute(const FSkillContext& context)
|
|||||||
{
|
{
|
||||||
//修改技能的冷却倍率
|
//修改技能的冷却倍率
|
||||||
USkill* skill = Cast<USkill>(target);
|
USkill* skill = Cast<USkill>(target);
|
||||||
skill->GetSkillData()->Speed = effectData.EffectValue;
|
skill->ApplySkillSpeed(effectData.EffectValue, UKismetStringLibrary::Conv_StringToInt(effectData.ParamAddition));
|
||||||
//延时结束效果
|
//skill->GetSkillData()->Speed = effectData.EffectValue;
|
||||||
GetWorld()->GetTimerManager().SetTimer(TimerHandle, [&]()
|
// //延时结束效果
|
||||||
{
|
// GetWorld()->GetTimerManager().SetTimer(TimerHandle, [&]()
|
||||||
|
// {
|
||||||
UE_LOG(LogTemp, Log, TEXT("取消CD充能效果!"));
|
//
|
||||||
skill->GetSkillData()->Speed = 1;
|
// UE_LOG(LogTemp, Log, TEXT("取消CD充能效果!"));
|
||||||
|
// skill->GetSkillData()->Speed = 1;
|
||||||
}, UKismetStringLibrary::Conv_StringToInt(effectData.ParamAddition), false); // 单次触发
|
//
|
||||||
|
// }, UKismetStringLibrary::Conv_StringToInt(effectData.ParamAddition), false); // 单次触发
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user