using UnityEngine; #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER using UnityEngine.InputSystem; #endif namespace MoreMountains.Feel { /// /// This class contains a number of helper methods that will check for input in both the old and the new input system. /// public static class FeelDemosInputHelper { private const string _horizontalAxis = "Horizontal"; private const string _verticalAxis = "Vertical"; public static bool CheckMainActionInputPressedThisFrame() { bool input = false; #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER input = Keyboard.current.spaceKey.wasPressedThisFrame || Mouse.current.leftButton.wasPressedThisFrame; #else input = (Input.GetKeyDown(KeyCode.Space) || Input.GetKeyDown(KeyCode.Joystick1Button0) || Input.GetMouseButtonDown(0)); #endif return input; } public static bool CheckMainActionInputPressed() { bool input = false; #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER input = Keyboard.current.spaceKey.isPressed || Mouse.current.leftButton.isPressed; #else input = (Input.GetKey(KeyCode.Space) || Input.GetKey(KeyCode.Joystick1Button0) || Input.GetMouseButton(0)); #endif return input; } public static bool CheckMainActionInputUpThisFrame() { bool input = false; #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER input = Keyboard.current.spaceKey.wasReleasedThisFrame || Mouse.current.leftButton.wasReleasedThisFrame; #else input = (Input.GetKeyUp(KeyCode.Space) || Input.GetKeyUp(KeyCode.Joystick1Button0) || Input.GetMouseButtonUp(0)); #endif return input; } public static bool CheckEnterPressedThisFrame() { bool input = false; #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER input = Keyboard.current.enterKey.wasPressedThisFrame; #else input = (Input.GetKeyDown(KeyCode.Return)); #endif return input; } public static bool CheckMouseDown() { bool input = false; #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER input = Mouse.current.leftButton.wasReleasedThisFrame; #else input = Input.GetMouseButtonUp(0); #endif return input; } public static Vector2 MousePosition() { #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER return Mouse.current.position.ReadValue(); #else return Input.mousePosition; #endif } public static Vector2 GetDirectionAxis(ref Vector2 direction) { direction.x = 0f; direction.y = 0f; #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER if (Keyboard.current.leftArrowKey.isPressed) { direction.x = -1f; } else if (Keyboard.current.rightArrowKey.isPressed) { direction.x = 1f; } if (Keyboard.current.downArrowKey.isPressed) { direction.y = -1f; } else if (Keyboard.current.upArrowKey.isPressed) { direction.y = 1f; } #else direction.x = Input.GetAxis(_horizontalAxis); direction.y = Input.GetAxis(_verticalAxis); #endif return direction; } public static bool CheckAlphaInputPressedThisFrame(int alpha) { bool input = false; #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER switch(alpha) { case 1: input = Keyboard.current.digit1Key.wasPressedThisFrame; break; case 2: input = Keyboard.current.digit2Key.wasPressedThisFrame; break; case 3: input = Keyboard.current.digit3Key.wasPressedThisFrame; break; case 4: input = Keyboard.current.digit4Key.wasPressedThisFrame; break; } #else switch(alpha) { case 1: input = Input.GetKeyDown(KeyCode.Alpha1); break; case 2: input = Input.GetKeyDown(KeyCode.Alpha2); break; case 3: input = Input.GetKeyDown(KeyCode.Alpha3); break; case 4: input = Input.GetKeyDown(KeyCode.Alpha4); break; } #endif return input; } } }