From f99c4d56cf95c563e95d3965ffd6d8ba33b660ee Mon Sep 17 00:00:00 2001 From: chai Date: Sat, 17 Oct 2020 10:12:31 +0800 Subject: *ability system --- Assets/Scripts/Input/Command.cs | 4 +++- Assets/Scripts/Input/InputManager.cs | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) (limited to 'Assets/Scripts/Input') diff --git a/Assets/Scripts/Input/Command.cs b/Assets/Scripts/Input/Command.cs index 7649af58..fae88684 100644 --- a/Assets/Scripts/Input/Command.cs +++ b/Assets/Scripts/Input/Command.cs @@ -24,7 +24,9 @@ public struct Command { public CommandCode code; // 指令码 public float time; // 触发时间 - public int id; + public int id; + + public static Command Blank = new Command(CommandCode.Blank, 0); public Command(CommandCode code, float time) { diff --git a/Assets/Scripts/Input/InputManager.cs b/Assets/Scripts/Input/InputManager.cs index 95f63ad7..25daf848 100644 --- a/Assets/Scripts/Input/InputManager.cs +++ b/Assets/Scripts/Input/InputManager.cs @@ -5,9 +5,18 @@ using UnityEngine; public class InputManager : Singleton { private List m_CommandRecord; - private Command m_CurrentCommand; private readonly int kCommandRecords = 10; + // 本帧内的指令,会在下一帧被清空 + private Command m_CurrentCommand; + public Command CurrentCommand + { + get + { + return m_CurrentCommand; + } + } + public void Init() { m_CommandRecord = new List(); @@ -48,6 +57,10 @@ public class InputManager : Singleton if(m_CommandRecord.Count > 10) m_CommandRecord.RemoveRange(0, m_CommandRecord.Count - 10); } + else if(m_CurrentCommand.code != CommandCode.Blank) + { + m_CurrentCommand = Command.Blank; + } } string CommandCodeToString(CommandCode cmd) -- cgit v1.1-26-g67d0