diff --git a/ProjectFish/Content/UI/WBP_EnduranceBar.uasset b/ProjectFish/Content/UI/WBP_EnduranceBar.uasset index 981dbec..f1689d4 100644 Binary files a/ProjectFish/Content/UI/WBP_EnduranceBar.uasset and b/ProjectFish/Content/UI/WBP_EnduranceBar.uasset differ diff --git a/ProjectFish/Content/UI/WBP_SkillCard.uasset b/ProjectFish/Content/UI/WBP_SkillCard.uasset index 7f3380d..ce065ae 100644 Binary files a/ProjectFish/Content/UI/WBP_SkillCard.uasset and b/ProjectFish/Content/UI/WBP_SkillCard.uasset differ diff --git a/ProjectFish/Source/ProjectFish/Skill/Skill.cpp b/ProjectFish/Source/ProjectFish/Skill/Skill.cpp index 9859c17..37a16a6 100644 --- a/ProjectFish/Source/ProjectFish/Skill/Skill.cpp +++ b/ProjectFish/Source/ProjectFish/Skill/Skill.cpp @@ -50,13 +50,19 @@ void USkill::InitSkill(APawnWithSkill* owner, USkillManager* skillManager, FSkil } } +bool USkill::SkillTickAble() +{ + return RemainingEndurance >0 || RemainingEndurance == -1; +} + void USkill::TickSkill(float deltaTime) { RemainingTime -= deltaTime * SkillData.Speed; - if (RemainingTime <= 0 && RemainingEndurance >0) + if (RemainingTime <= 0 && SkillTickAble()) { RemainingTime = 0; - --RemainingEndurance; + if (RemainingEndurance >0) + --RemainingEndurance; FSkillContext context; context.Self = Owner; context.SkillManager = SkillManager; @@ -64,8 +70,7 @@ void USkill::TickSkill(float deltaTime) { Effect->Execute(context); } - if (RemainingEndurance > 0) - RemainingTime = SkillData.CD; + RemainingTime = SkillData.CD; } if (RemainingEndurance == 0) { diff --git a/ProjectFish/Source/ProjectFish/Skill/Skill.h b/ProjectFish/Source/ProjectFish/Skill/Skill.h index f17fdd5..45cbb96 100644 --- a/ProjectFish/Source/ProjectFish/Skill/Skill.h +++ b/ProjectFish/Source/ProjectFish/Skill/Skill.h @@ -29,6 +29,9 @@ public: void SetSkillData( FSkillData SkillData); void ApplyRemainingTimeOffset(int timeOffset); void ApplyRemainingRemainingEnduranceOffset(int Offset); + + UFUNCTION(BlueprintPure) + bool SkillTickAble(); protected: UPROPERTY(BlueprintAssignable) FSkillUpdate OnSkillUpdate; @@ -45,3 +48,5 @@ protected: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ToolTip = "剩余耐久度")) int32 RemainingEndurance; }; + +