summaryrefslogtreecommitdiff
path: root/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-24 17:30:07 +0800
committerchai <chaifix@163.com>2020-10-24 17:30:07 +0800
commit65ed53a40f990e895305ff17a5e48e3cd6b8785b (patch)
tree3333c6a9b19fa5602fd8827e582273f602452bec /Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs
parent56a9b3bf4edc56e9c1dd502a469a7a0167751215 (diff)
*物理系统
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);
+ }
+
}