diff options
Diffstat (limited to 'Assets/Scripts/AbilitySystem/Trigger.cs')
-rw-r--r-- | Assets/Scripts/AbilitySystem/Trigger.cs | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/Assets/Scripts/AbilitySystem/Trigger.cs b/Assets/Scripts/AbilitySystem/Trigger.cs index dc173a6d..70a6d0f4 100644 --- a/Assets/Scripts/AbilitySystem/Trigger.cs +++ b/Assets/Scripts/AbilitySystem/Trigger.cs @@ -2,26 +2,46 @@ using System.Collections.Generic; using UnityEngine; +public enum TriggerOnlyOnce +{ + Off = 0, + On = 1, +} + +public enum TriggerSwallow +{ + Off = 0, + On = 1 +} + + /// <summary> /// 不同效果的trigger继承这个基类 /// </summary> public sealed class Trigger { - public bool Swallow; + private TriggerSwallow m_Swallow; + public bool Swallow + { + get + { + return m_Swallow == TriggerSwallow.On; + } + } private ConditionBase m_Condition; private List<ActionBase> m_ActionChain = new List<ActionBase>(); - public Trigger(ConditionBase condition, List<ActionBase> actions, bool onlyOnce = false, bool swallow = true) + public Trigger(ConditionBase condition, List<ActionBase> actions, TriggerOnlyOnce onlyOnce = TriggerOnlyOnce.Off, TriggerSwallow swallow = TriggerSwallow.On) { - Swallow = swallow; + m_Swallow = swallow; m_Condition = condition; m_ActionChain.AddRange(actions); } - public Trigger(ConditionBase condition, ActionBase action, bool onlyOnce = false, bool swallow = true) + public Trigger(ConditionBase condition, ActionBase action, TriggerOnlyOnce onlyOnce = TriggerOnlyOnce.Off, TriggerSwallow swallow = TriggerSwallow.On) { - Swallow = swallow; + m_Swallow = swallow; m_Condition = condition; m_ActionChain.Add(action); } |