Guest User

PlayerMovement

a guest
Mar 9th, 2021
532
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.49 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.XR;
  5. using UnityEngine.XR.Interaction.Toolkit;
  6.  
  7. public class PlayerMovement : MonoBehaviour
  8. {
  9.     private InputDevice _device_leftController;
  10.     private InputDevice _device_rightController;
  11.  
  12.     private Vector2 _inputAxis_leftController;
  13.     private Vector2 _inputAxis_rightController;
  14.  
  15.     private float _inputTrigger_leftController;
  16.     private float _inputTrigger_rightController;
  17.  
  18.     private bool _inputPrimary_leftController;
  19.     private bool _inputPrimary_rightController;
  20.  
  21.     private float _inputPrimary_leftController_ReleaseTime;
  22.     private float _inputPrimary_rightController_ReleaseTime;
  23.  
  24.     private float _inputPrimary_leftController_PressTime;
  25.     private float _inputPrimary_rightController_PressTime;
  26.  
  27.     private bool _inputSecondary_leftController;
  28.     private bool _inputSecondary_rightController;
  29.  
  30.     private GameObject _camera;
  31.  
  32.        void Start()
  33.     {
  34.         _device_leftController = InputDevices.GetDeviceAtXRNode(XRNode.LeftHand);
  35.         _device_rightController = InputDevices.GetDeviceAtXRNode(XRNode.RightHand);
  36.         _camera = GetComponent<XRRig>().cameraGameObject;
  37.  
  38.     }
  39.  
  40.     void getInput()
  41.     {
  42.         _device_leftController.TryGetFeatureValue(CommonUsages.primary2DAxis, out _inputAxis_leftController); // left stick
  43.         _device_rightController.TryGetFeatureValue(CommonUsages.primary2DAxis, out _inputAxis_rightController); //right stick
  44.  
  45.         _device_leftController.TryGetFeatureValue(CommonUsages.trigger, out _inputTrigger_leftController); // left trigger
  46.         _device_rightController.TryGetFeatureValue(CommonUsages.trigger, out _inputTrigger_rightController); //right trigger
  47.  
  48.         _device_leftController.TryGetFeatureValue(CommonUsages.primaryButton, out _inputPrimary_leftController); // X Button
  49.         _device_rightController.TryGetFeatureValue(CommonUsages.primaryButton, out _inputPrimary_rightController);// A Button
  50.  
  51.         // releaseTime
  52.         if (_inputPrimary_leftController)
  53.         {
  54.             _inputPrimary_leftController_ReleaseTime = 0f;
  55.         }
  56.         else
  57.         {
  58.             _inputPrimary_leftController_ReleaseTime = Mathf.Min(_inputPrimary_leftController_ReleaseTime + Time.deltaTime, 1200f);
  59.         }
  60.  
  61.         if (_inputPrimary_rightController)
  62.         {
  63.             _inputPrimary_rightController_ReleaseTime = 0f;
  64.         }
  65.         else
  66.         {
  67.             _inputPrimary_rightController_ReleaseTime = Mathf.Min(_inputPrimary_rightController_ReleaseTime + Time.deltaTime, 1200f);
  68.         }
  69.  
  70.         // pressTime
  71.         if (_inputPrimary_leftController)
  72.         {
  73.             _inputPrimary_leftController_PressTime = Mathf.Min(_inputPrimary_leftController_PressTime + Time.deltaTime, 1200f);
  74.         }
  75.         else
  76.         {
  77.             _inputPrimary_leftController_PressTime = 0f;
  78.         }
  79.  
  80.         if (_inputPrimary_rightController)
  81.         {
  82.             _inputPrimary_rightController_PressTime = Mathf.Min(_inputPrimary_rightController_PressTime + Time.deltaTime, 1200f);
  83.         }
  84.         else
  85.         {
  86.             _inputPrimary_rightController_PressTime = 0f;
  87.         }
  88.  
  89.         _device_leftController.TryGetFeatureValue(CommonUsages.secondaryButton, out _inputSecondary_leftController); // Y Button
  90.         _device_rightController.TryGetFeatureValue(CommonUsages.secondaryButton, out _inputSecondary_rightController); //B Button
  91.  
  92.     }
  93.     void Update(){
  94.         getInput();
  95.        
  96.     }
  97. }
  98.  
Advertisement
Add Comment
Please, Sign In to add comment