summaryrefslogtreecommitdiff
path: root/Assets/Scripts
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-15 05:41:48 +0800
committerchai <chaifix@163.com>2020-10-15 05:41:48 +0800
commitb1b14c45ce95dcf7b81867d68d6006345d98959e (patch)
tree50f9fb13aea169c1db0213c2c068d19771f4aab5 /Assets/Scripts
parent0d221e6c05d59d812d494f05b9916d85650032eb (diff)
*input system
Diffstat (limited to 'Assets/Scripts')
-rw-r--r--Assets/Scripts/Input/Command.cs34
-rw-r--r--Assets/Scripts/Input/Command.cs.meta (renamed from Assets/Scripts/Input/CommandType.cs.meta)0
-rw-r--r--Assets/Scripts/Input/CommandType.cs21
-rw-r--r--Assets/Scripts/Input/InputManager.cs74
4 files changed, 97 insertions, 32 deletions
diff --git a/Assets/Scripts/Input/Command.cs b/Assets/Scripts/Input/Command.cs
new file mode 100644
index 00000000..5ac2c2a0
--- /dev/null
+++ b/Assets/Scripts/Input/Command.cs
@@ -0,0 +1,34 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+
+public enum CommandCode
+{
+ Blank,
+
+ // 方向键
+ Left,
+ Right,
+ Up,
+ Down,
+
+ // 操作键
+ Triangle, // △
+ Cross, // ×
+ Square, // □
+ Circle, // ○
+}
+
+public struct Command
+{
+ public CommandCode code; // 指令码
+ public float time; // 触发时间
+
+ public Command(CommandCode code, float time)
+ {
+ this.code = code;
+ this.time = time;
+ }
+}
+
diff --git a/Assets/Scripts/Input/CommandType.cs.meta b/Assets/Scripts/Input/Command.cs.meta
index f2802802..f2802802 100644
--- a/Assets/Scripts/Input/CommandType.cs.meta
+++ b/Assets/Scripts/Input/Command.cs.meta
diff --git a/Assets/Scripts/Input/CommandType.cs b/Assets/Scripts/Input/CommandType.cs
deleted file mode 100644
index 3c537383..00000000
--- a/Assets/Scripts/Input/CommandType.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-
-public enum Command
-{
- // 方向键
- Left,
- Right,
- Top,
- Bottom,
-
- // 操作键
- Triangle, // △
- Cross, // ×
- Square, // □
- Circle, // ○
-}
-
-
diff --git a/Assets/Scripts/Input/InputManager.cs b/Assets/Scripts/Input/InputManager.cs
index 098190bc..c1a26327 100644
--- a/Assets/Scripts/Input/InputManager.cs
+++ b/Assets/Scripts/Input/InputManager.cs
@@ -2,17 +2,69 @@
using System.Collections.Generic;
using UnityEngine;
-public class InputManager : MonoBehaviour
+public class InputManager : Singleton<InputManager>
{
- // Start is called before the first frame update
- void Start()
- {
-
- }
+ private List<Command> m_CommandRecord;
+ private Command m_CurrentCommand;
+
+ public void Init()
+ {
+ m_CommandRecord = new List<Command>();
+ m_CurrentCommand = new Command(CommandCode.Blank, 0);
+ }
+
+ public void Update()
+ {
+ CommandCode cmd = CommandCode.Blank;
+ // 移动
+ if (Input.GetKeyDown("w"))
+ cmd = CommandCode.Up;
+ if (Input.GetKeyDown("s"))
+ cmd = CommandCode.Down;
+ if (Input.GetKeyDown("a"))
+ cmd = CommandCode.Left;
+ if (Input.GetKeyDown("d"))
+ cmd = CommandCode.Right;
+ // 动作
+ if (Input.GetKeyDown("j"))
+ cmd = CommandCode.Circle;
+ if (Input.GetKeyDown("k"))
+ cmd = CommandCode.Triangle;
+ if (Input.GetKeyDown("l"))
+ cmd = CommandCode.Square;
+ if(Input.GetKeyDown("u"))
+ cmd = CommandCode.Cross;
+
+ if(cmd != CommandCode.Blank)
+ {
+ float time = Time.time;
+ Command command = new Command(cmd, time);
+ Debug.Log(CommandToString(command));
+ m_CurrentCommand = command;
+ m_CommandRecord.Add(command);
+ }
+ }
+
+ string CommandCodeToString(CommandCode cmd)
+ {
+ switch(cmd)
+ {
+ case CommandCode.Left: return "←";
+ case CommandCode.Right: return "→";
+ case CommandCode.Up: return "↑";
+ case CommandCode.Down: return "↓";
+ case CommandCode.Circle: return "○";
+ case CommandCode.Triangle: return "△";
+ case CommandCode.Square: return "□";
+ case CommandCode.Cross: return "×";
+ default: return "Unknown";
+ }
+ }
+
+ string CommandToString(Command cmd)
+ {
+ string sign = CommandCodeToString(cmd.code);
+ return sign + " " + cmd.time + "s";
+ }
- // Update is called once per frame
- void Update()
- {
-
- }
}