diff options
Diffstat (limited to 'Assets/Scripts/AbilitySystem/Conditions/ConditionCommandSeq.cs')
-rw-r--r-- | Assets/Scripts/AbilitySystem/Conditions/ConditionCommandSeq.cs | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/Assets/Scripts/AbilitySystem/Conditions/ConditionCommandSeq.cs b/Assets/Scripts/AbilitySystem/Conditions/ConditionCommandSeq.cs deleted file mode 100644 index 71a7dbf3..00000000 --- a/Assets/Scripts/AbilitySystem/Conditions/ConditionCommandSeq.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-/// <summary>
-/// 一个command序列,用来触发连击
-/// </summary>
-public class ConditionCommandSeq : ConditionBase
-{
- List<GamepadButton> m_CommandSeq = new List<GamepadButton>();
- float m_DeltaTime = 0;
- List<int> m_LastCmdID = new List<int>();
-
- List<int> id = new List<int>();
-
- public ConditionCommandSeq(List<GamepadButton> commandSeq, float maxDeltaTime)
- {
- m_CommandSeq.AddRange(commandSeq);
- m_DeltaTime = maxDeltaTime;
- }
-
- public override bool Evaluate()
- {
- List<Command> commandRecord = InputManager.Instance.CommandRecord;
- if (commandRecord == null || commandRecord.Count < m_CommandSeq.Count)
- return false;
- id.Clear();
- for (int i = 1; i < m_CommandSeq.Count; ++i)
- {
- GamepadButton button = m_CommandSeq[i];
- GamepadButton preButton = m_CommandSeq[i-1];
- int j = commandRecord.Count - m_CommandSeq.Count + i;
- Command cmd = commandRecord[j];
- Command preCmd = commandRecord[j-1];
- if (preCmd.code != preButton || cmd.code != button)
- return false;
- if (cmd.time - preCmd.time > m_DeltaTime)
- return false;
- id.Add(preCmd.id);
- if (j == commandRecord.Count - 1)
- id.Add(cmd.id);
- }
-
- //for (int i = 0; i < id.Count; ++i)
- //{
- // if (m_LastCmdID.Contains(id[i]))
- // return false;
- //}
- //m_LastCmdID.Clear();
- //m_LastCmdID.AddRange(id);
-
- return true;
- }
-}
|