You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CrowdControl/Assets/Feel/FeelDemos/_Common/Scripts/FeelDemosInputHelper.cs

168 lines
4.0 KiB
C#

3 months ago
using UnityEngine;
#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
using UnityEngine.InputSystem;
#endif
namespace MoreMountains.Feel
{
/// <summary>
/// This class contains a number of helper methods that will check for input in both the old and the new input system.
/// </summary>
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;
}
}
}