diff options
author | chai <chaifix@163.com> | 2020-10-29 19:39:42 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-10-29 19:39:42 +0800 |
commit | bdf47cf0fd36a5c858575a805cca70ab623868eb (patch) | |
tree | c93691007f656380decbcb93690292e273d4e217 /Assets/Scripts/AbilitySystem/Conditions/ConditionBase.cs | |
parent | 61fbc2cdd8368505c3c8ce893af020463cc2a669 (diff) |
*misc
Diffstat (limited to 'Assets/Scripts/AbilitySystem/Conditions/ConditionBase.cs')
-rw-r--r-- | Assets/Scripts/AbilitySystem/Conditions/ConditionBase.cs | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/Assets/Scripts/AbilitySystem/Conditions/ConditionBase.cs b/Assets/Scripts/AbilitySystem/Conditions/ConditionBase.cs deleted file mode 100644 index 8dff29da..00000000 --- a/Assets/Scripts/AbilitySystem/Conditions/ConditionBase.cs +++ /dev/null @@ -1,196 +0,0 @@ -using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-/// <summary>
-/// 触发条件基类
-/// </summary>
-public abstract class ConditionBase
-{
-
- public ConditionBase()
- {
- }
-
- public abstract bool Evaluate();
-
-}
-
-/// <summary>
-/// 两个condition都达成才会返回真
-/// </summary>
-public sealed class ConditionNot : ConditionBase
-{
- ConditionBase m_Condition;
-
-
- public ConditionNot(ConditionBase cond)
- : base()
- {
- m_Condition = cond;
- }
-
- public override bool Evaluate()
- {
- return !m_Condition.Evaluate();
- }
-}
-
-/// <summary>
-/// 总是满足
-/// </summary>
-public sealed class ConditionAlways : ConditionBase
-{
- public override bool Evaluate()
- {
- return true;
- }
-}
-
-/// <summary>
-/// 总是不满足
-/// </summary>
-public sealed class ConditionAlwaysNot : ConditionBase
-{
- public override bool Evaluate()
- {
- return false;
- }
-}
-
-/// <summary>
-/// 两个condition都达成才会返回真
-/// </summary>
-public sealed class ConditionAnd : ConditionBase
-{
- ConditionBase m_FirstCondition, m_LastCondition;
-
-
- public ConditionAnd(ConditionBase first, ConditionBase last)
- : base()
- {
- m_FirstCondition = first;
- m_LastCondition = last;
- }
-
- public override bool Evaluate()
- {
- return m_FirstCondition.Evaluate() && m_LastCondition.Evaluate();
- }
-}
-
-/// <summary>
-/// 两个condition至少一个达成才会返回真
-/// </summary>
-public sealed class ConditionOr : ConditionBase
-{
- ConditionBase m_FirstCondition, m_LastCondition;
-
-
- public ConditionOr(ConditionBase first, ConditionBase last)
- : base()
- {
- m_FirstCondition = first;
- m_LastCondition = last;
- }
-
- public override bool Evaluate()
- {
- return m_FirstCondition.Evaluate() || m_LastCondition.Evaluate();
- }
-}
-
-
-/// <summary>
-/// 两个condition都不达成才会返回真
-/// </summary>
-public sealed class ConditionNone : ConditionBase
-{
- ConditionBase m_FirstCondition, m_LastCondition;
-
- public ConditionNone(ConditionBase first, ConditionBase last)
- : base()
- {
- m_FirstCondition = first;
- m_LastCondition = last;
- }
-
- public override bool Evaluate()
- {
- return !m_FirstCondition.Evaluate() && !m_LastCondition.Evaluate();
- }
-}
-
-
-/// <summary>
-/// 多个condition都达成才会返回真
-/// </summary>
-public sealed class ConditionMultiAnd : ConditionBase
-{
- List<ConditionBase> m_Conditions = new List<ConditionBase>();
-
- public ConditionMultiAnd(List<ConditionBase> conditions)
- : base()
- {
- m_Conditions.AddRange(conditions);
- }
-
- public override bool Evaluate()
- {
- foreach(var condition in m_Conditions)
- {
- if(!condition.Evaluate())
- return false;
- }
- return true;
- }
-}
-
-/// <summary>
-/// 多个condition至少一个达成才会返回真
-/// </summary>
-public sealed class ConditionMultiOr : ConditionBase
-{
- List<ConditionBase> m_Conditions;
-
- public ConditionMultiOr(List<ConditionBase> conditions)
- : base()
- {
- m_Conditions.AddRange(conditions);
- }
-
- public override bool Evaluate()
- {
- foreach (var condition in m_Conditions)
- {
- if (condition.Evaluate())
- return true;
- }
- return false;
- }
-}
-
-/// <summary>
-/// 多个condition都不达成才会返回真
-/// </summary>
-public sealed class ConditionMultiNone : ConditionBase
-{
- List<ConditionBase> m_Conditions;
-
- public ConditionMultiNone(List<ConditionBase> conditions)
- : base()
- {
- m_Conditions.AddRange(conditions);
- }
-
- public override bool Evaluate()
- {
- foreach (var condition in m_Conditions)
- {
- if (condition.Evaluate())
- return false;
- }
- return true;
- }
-}
-
|