You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.7 KiB
91 lines
2.7 KiB
5 months ago
|
using UnityEngine;
|
||
|
|
||
|
#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
|
||
|
using UnityEngine.InputSystem;
|
||
|
using UnityEngine.InputSystem.Controls;
|
||
|
using EnhancedTouch = UnityEngine.InputSystem.EnhancedTouch;
|
||
|
#endif
|
||
|
|
||
|
namespace HighlightPlus {
|
||
|
|
||
|
public static class InputProxy {
|
||
|
|
||
|
#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
|
||
|
|
||
|
static Vector3 lastPointerPosition;
|
||
|
|
||
|
public static void Init() {
|
||
|
if (!EnhancedTouch.EnhancedTouchSupport.enabled) {
|
||
|
EnhancedTouch.EnhancedTouchSupport.Enable();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static Vector3 mousePosition {
|
||
|
get {
|
||
|
if (touchCount > 0) {
|
||
|
lastPointerPosition = EnhancedTouch.Touch.activeTouches[0].screenPosition;
|
||
|
} else {
|
||
|
Mouse m = Mouse.current;
|
||
|
if (m != null) {
|
||
|
lastPointerPosition = m.position.ReadValue();
|
||
|
}
|
||
|
}
|
||
|
return lastPointerPosition;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static bool GetMouseButtonDown(int buttonIndex) {
|
||
|
if (touchCount > 0) {
|
||
|
return EnhancedTouch.Touch.activeTouches[0].phase == UnityEngine.InputSystem.TouchPhase.Began;
|
||
|
} else {
|
||
|
Mouse m = Mouse.current;
|
||
|
if (m == null) return false;
|
||
|
switch (buttonIndex) {
|
||
|
case 1: return m.rightButton.wasPressedThisFrame;
|
||
|
case 2: return m.middleButton.wasPressedThisFrame;
|
||
|
default: return m.leftButton.wasPressedThisFrame;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static int touchCount { get { return EnhancedTouch.Touch.activeTouches.Count; } }
|
||
|
|
||
|
public static int GetFingerIdFromTouch(int touchIndex) {
|
||
|
EnhancedTouch.Touch touch = EnhancedTouch.Touch.activeTouches[touchIndex];
|
||
|
return touch.finger.index;
|
||
|
}
|
||
|
|
||
|
public static bool GetKeyDown(string name) {
|
||
|
return ((KeyControl)Keyboard.current[name]).wasPressedThisFrame;
|
||
|
}
|
||
|
|
||
|
#else
|
||
|
public static void Init() {}
|
||
|
|
||
|
public static Vector3 mousePosition {
|
||
|
get {
|
||
|
return Input.mousePosition;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static bool GetMouseButtonDown(int buttonIndex) {
|
||
|
return Input.GetMouseButtonDown(buttonIndex);
|
||
|
}
|
||
|
|
||
|
public static int touchCount {
|
||
|
get { return Input.touchCount; }
|
||
|
}
|
||
|
|
||
|
public static int GetFingerIdFromTouch(int touchIndex) {
|
||
|
return Input.GetTouch(touchIndex).fingerId;
|
||
|
}
|
||
|
|
||
|
public static bool GetKeyDown(string name) {
|
||
|
return Input.GetKeyDown(name);
|
||
|
}
|
||
|
|
||
|
#endif
|
||
|
|
||
|
}
|
||
|
}
|