summaryrefslogtreecommitdiff
path: root/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs')
-rw-r--r--Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs19
1 files changed, 19 insertions, 0 deletions
diff --git a/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs b/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs
index 9798d7a2..fc4ce7e1 100644
--- a/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs
+++ b/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs
@@ -13,6 +13,8 @@ public class AttackAbility : AbilityBase
/// </summary>
private List<Trigger> m_Triggers = new List<Trigger>();
+ private List<Trigger> m_LateTriggers = new List<Trigger>();
+
/// <summary>
/// 从动画结束开始计时
/// </summary>
@@ -79,6 +81,16 @@ public class AttackAbility : AbilityBase
}
}
+ // 在物理模拟之后
+ public override void OnLateUpdate()
+ {
+ foreach (var trigger in m_LateTriggers)
+ {
+ if (trigger.Update() && trigger.Swallow)
+ break;
+ }
+ }
+
public void AddTrigger(Trigger trigger)
{
if (trigger == null || m_Triggers.Contains(trigger))
@@ -86,4 +98,11 @@ public class AttackAbility : AbilityBase
m_Triggers.Add(trigger);
}
+ public void AddLateTrigger(Trigger trigger)
+ {
+ if (trigger == null || m_LateTriggers.Contains(trigger))
+ return;
+ m_LateTriggers.Add(trigger);
+ }
+
}