diff --git a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0001.exp b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0001.exp index 0d55bab..19e40b4 100644 Binary files a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0001.exp and b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0001.exp differ diff --git a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0001.pdb b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0001.pdb new file mode 100644 index 0000000..2604ab9 Binary files /dev/null and b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0001.pdb differ diff --git a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0005.exp b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0005.exp index 4dc338e..c6f8f6f 100644 Binary files a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0005.exp and b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0005.exp differ diff --git a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0005.pdb b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0005.pdb new file mode 100644 index 0000000..cc044b6 Binary files /dev/null and b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0005.pdb differ diff --git a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFishEditor-0001.pdb b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFishEditor-0001.pdb new file mode 100644 index 0000000..050d2b1 Binary files /dev/null and b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFishEditor-0001.pdb differ diff --git a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFishEditor-0005.pdb b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFishEditor-0005.pdb new file mode 100644 index 0000000..6b86536 Binary files /dev/null and b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFishEditor-0005.pdb differ diff --git a/ProjectFish/Binaries/Win64/UnrealEditor.modules b/ProjectFish/Binaries/Win64/UnrealEditor.modules index 22c08e6..edbc9c3 100644 --- a/ProjectFish/Binaries/Win64/UnrealEditor.modules +++ b/ProjectFish/Binaries/Win64/UnrealEditor.modules @@ -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" } } \ No newline at end of file diff --git a/ProjectFish/Content/Gameplay/BagSystem/SkillAsset/Pull.uasset b/ProjectFish/Content/Gameplay/BagSystem/SkillAsset/Pull.uasset index efde8f4..ee0245c 100644 Binary files a/ProjectFish/Content/Gameplay/BagSystem/SkillAsset/Pull.uasset and b/ProjectFish/Content/Gameplay/BagSystem/SkillAsset/Pull.uasset differ diff --git a/ProjectFish/Content/UI/WBP_SkillCard.uasset b/ProjectFish/Content/UI/WBP_SkillCard.uasset index ad1d393..87c8248 100644 Binary files a/ProjectFish/Content/UI/WBP_SkillCard.uasset and b/ProjectFish/Content/UI/WBP_SkillCard.uasset differ diff --git a/ProjectFish/Content/UI/WBP_SkillSpeedText.uasset b/ProjectFish/Content/UI/WBP_SkillSpeedText.uasset new file mode 100644 index 0000000..40109db Binary files /dev/null and b/ProjectFish/Content/UI/WBP_SkillSpeedText.uasset differ diff --git a/ProjectFish/Source/ProjectFish/Skill/Skill.cpp b/ProjectFish/Source/ProjectFish/Skill/Skill.cpp index 33dc16b..ae4263e 100644 --- a/ProjectFish/Source/ProjectFish/Skill/Skill.cpp +++ b/ProjectFish/Source/ProjectFish/Skill/Skill.cpp @@ -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() { diff --git a/ProjectFish/Source/ProjectFish/Skill/Skill.h b/ProjectFish/Source/ProjectFish/Skill/Skill.h index 5717fad..ab1f6bf 100644 --- a/ProjectFish/Source/ProjectFish/Skill/Skill.h +++ b/ProjectFish/Source/ProjectFish/Skill/Skill.h @@ -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: diff --git a/ProjectFish/Source/ProjectFish/Skill/SkillEffects/SkillEffect_ModifySpeed.cpp b/ProjectFish/Source/ProjectFish/Skill/SkillEffects/SkillEffect_ModifySpeed.cpp index c5df2c7..c410a51 100644 --- a/ProjectFish/Source/ProjectFish/Skill/SkillEffects/SkillEffect_ModifySpeed.cpp +++ b/ProjectFish/Source/ProjectFish/Skill/SkillEffects/SkillEffect_ModifySpeed.cpp @@ -22,16 +22,16 @@ void USkillEffect_ModifySpeed::Execute(const FSkillContext& context) { //修改技能的冷却倍率 USkill* skill = Cast(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); // 单次触发 } } }