| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 | 
							- #if INPUT_SYSTEM_ENABLED
 
- using UnityEngine;
 
- using UnityEngine.InputSystem;
 
- using UnityEngine.InputSystem.LowLevel;
 
- namespace XCharts.Runtime
 
- {
 
-     public class InputHelper
 
-     {
 
-         public static Vector2 mousePosition
 
-         {
 
-             get
 
-             {
 
-                 var value = Vector2.zero;
 
-                 if (null != Mouse.current)
 
-                 {
 
-                     value = Mouse.current.position.ReadValue();
 
-                 }
 
-                 else if (null != Touchscreen.current && Touchscreen.current.touches.Count > 0)
 
-                 {
 
-                     value = Touchscreen.current.touches[0].position.ReadValue();
 
-                 }
 
-                 return value;
 
-             }
 
-         }
 
-         public static int touchCount
 
-         {
 
-             get
 
-             {
 
-                 var value = 0;
 
-                 if (null != Touchscreen.current)
 
-                 {
 
-                     value = Touchscreen.current.touches.Count;
 
-                 }
 
-                 return value;
 
-             }
 
-         }
 
-         public static Touch GetTouch(int v)
 
-         {
 
-             UnityEngine.TouchPhase PhaseConvert(TouchState state)
 
-             {
 
-                 UnityEngine.TouchPhase temp = UnityEngine.TouchPhase.Began;
 
-                 switch (state.phase)
 
-                 {
 
-                     case UnityEngine.InputSystem.TouchPhase.Began:
 
-                         temp = UnityEngine.TouchPhase.Began;
 
-                         break;
 
-                     case UnityEngine.InputSystem.TouchPhase.Moved:
 
-                         temp = UnityEngine.TouchPhase.Moved;
 
-                         break;
 
-                     case UnityEngine.InputSystem.TouchPhase.Canceled:
 
-                         temp = UnityEngine.TouchPhase.Canceled;
 
-                         break;
 
-                     case UnityEngine.InputSystem.TouchPhase.Stationary:
 
-                         temp = UnityEngine.TouchPhase.Stationary;
 
-                         break;
 
-                     default:
 
-                     case UnityEngine.InputSystem.TouchPhase.Ended:
 
-                     case UnityEngine.InputSystem.TouchPhase.None:
 
-                         temp = UnityEngine.TouchPhase.Ended;
 
-                         break;
 
-                 }
 
-                 return temp;
 
-             }
 
-             var touch = Touchscreen.current.touches[v];
 
-             var value = touch.ReadValue();
 
-             //copy touchcontrol's touchstate data  into  touch
 
-             return new Touch
 
-             {
 
-                 deltaPosition = value.delta,
 
-                 fingerId = value.touchId,
 
-                 position = value.position,
 
-                 phase = PhaseConvert(value),
 
-                 pressure = value.pressure,
 
-                 radius = value.radius.magnitude,
 
-                 radiusVariance = value.radius.sqrMagnitude,
 
-                 type = value.isPrimaryTouch ? TouchType.Direct : TouchType.Indirect,
 
-                 tapCount = value.tapCount,
 
-                 deltaTime = Time.realtimeSinceStartup - (float)value.startTime,
 
-                 rawPosition = value.startPosition,
 
-             };
 
-         }
 
-         public static bool GetKeyDown(KeyCode keyCode)
 
-         {
 
-             var value = false;
 
-             if (null != Keyboard.current)
 
-             {
 
-                 var key = Keyboard.current.spaceKey;
 
-                 switch (keyCode)
 
-                 {
 
-                     case KeyCode.Space:
 
-                         key = Keyboard.current.spaceKey;
 
-                         break;
 
-                     case KeyCode.L:
 
-                         key = Keyboard.current.lKey;
 
-                         break;
 
-                     default:
 
-                         Debug.LogError($"{nameof(InputHelper)}: not support {keyCode} yet , please add it yourself if needed");
 
-                         break;
 
-                 }
 
-                 value = key.wasPressedThisFrame;
 
-             }
 
-             return value;
 
-         }
 
-     }
 
- }
 
- #endif
 
 
  |