镇海炼化,地块全压里罐区
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

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
}
}