summaryrefslogtreecommitdiff
path: root/Assets/Scripts/AbilitySystem/Trigger.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Scripts/AbilitySystem/Trigger.cs')
-rw-r--r--Assets/Scripts/AbilitySystem/Trigger.cs30
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);
}