/// <summary> /// ボタン押下イベント通知 /// </summary> public void NotifyObserversButton(GameControllerConstant.Button button) { foreach (var observer in observers) { observer.ButtonDown(button); } }
/// <summary> /// ボタンが持ち上げられたか /// </summary> /// <param name="button">対象のボタン</param> /// <returns>trueなら持ち上げられた</returns> public bool IsButtonUp(GameControllerConstant.Button button) { KeyCode keyCode = ConvertButtonToUnityKeyCode(button); if (UnityEngine.Input.GetKeyUp(keyCode)) { return(true); } return(false); }
/// <summary> /// ボタンからUnityのKeyCodeに変換 /// </summary> /// <param name="button">対象のボタン</param> /// <returns>UnityEngineのキーコード</returns> private KeyCode ConvertButtonToUnityKeyCode(GameControllerConstant.Button button) { switch (button) { case GameControllerConstant.Button.A: return(KeyCode.Space); // A以外は今の所使用しないので割り当てなしとしています // 必要があれば割り当てをしてください case GameControllerConstant.Button.B: return(KeyCode.None); case GameControllerConstant.Button.X: return(KeyCode.None); case GameControllerConstant.Button.Y: return(KeyCode.None); default: return(KeyCode.None); } }