Exemplo n.º 1
0
        private void LoadControllerFromPrefab(PXR_Input.Controller hand)
        {
            switch (controllerType)
            {
            case 3:
                var g2Go   = Instantiate(g2, transform, false);
                var g2Comp = g2Go.AddComponent <PXR_ControllerKeyEffects>();
                LoadTexture(g2Comp, g2TexBasePath, true);
                loadModelSuccess = true;
                break;

            case 4:
                var neo2Go   = Instantiate(hand == PXR_Input.Controller.LeftController ? neo2L : neo2R, transform, false);
                var neo2Comp = neo2Go.AddComponent <PXR_ControllerKeyEffects>();
                neo2Comp.hand = hand;
                LoadTexture(neo2Comp, neo2TexBasePath, true);
                loadModelSuccess = true;
                break;

            case 5:
                var neo3Go   = Instantiate(hand == PXR_Input.Controller.LeftController ? neo3L : neo3R, transform, false);
                var neo3Comp = neo3Go.AddComponent <PXR_ControllerKeyEffects>();
                neo3Comp.hand = hand;
                LoadTexture(neo3Comp, neo3TexBasePath, true);
                loadModelSuccess = true;
                break;

            default:
                loadModelSuccess = false;
                break;
            }
        }
Exemplo n.º 2
0
        private int RefreshControllerBattery(PXR_Input.Controller hand)
        {
            var curBattery = 0f;

            switch (hand)
            {
            case PXR_Input.Controller.LeftController:
            {
                InputDevices.GetDeviceAtXRNode(XRNode.LeftHand).TryGetFeatureValue(CommonUsages.batteryLevel, out curBattery);
            }
            break;

            case PXR_Input.Controller.RightController:
            {
                InputDevices.GetDeviceAtXRNode(XRNode.RightHand).TryGetFeatureValue(CommonUsages.batteryLevel, out curBattery);
            }
            break;
            }
            return((int)curBattery);
        }
Exemplo n.º 3
0
        private void RefreshPower(PXR_Input.Controller hand)
        {
            battery = RefreshControllerBattery(hand);
            if (battery == 0)
            {
                powerImage.enabled = true;
            }
            switch (battery)
            {
            case 1:
                powerImage.sprite = power1;
                powerImage.color  = Color.red;
                break;

            case 2:
                powerImage.sprite = power2;
                powerImage.color  = Color.white;
                break;

            case 3:
                powerImage.sprite = power3;
                powerImage.color  = Color.white;
                break;

            case 4:
                powerImage.sprite = power4;
                powerImage.color  = Color.white;
                break;

            case 5:
                powerImage.sprite = power5;
                powerImage.color  = Color.white;
                break;

            default:
                powerImage.sprite = power1;
                powerImage.color  = Color.white;
                break;
            }
        }
Exemplo n.º 4
0
 private void RefreshController(PXR_Input.Controller hand)
 {
     if (PXR_Input.IsControllerConnected(hand))
     {
         if (systemOrLocal == 0)
         {
             LoadControllerFromPrefab(hand);
             if (!loadModelSuccess)
             {
                 LoadControllerFromSystem((int)hand);
             }
         }
         else
         {
             var isControllerExist = false;
             foreach (Transform t in transform)
             {
                 if (t.name == modelName)
                 {
                     isControllerExist = true;
                 }
             }
             if (!isControllerExist)
             {
                 LoadControllerFromSystem((int)hand);
                 if (!loadModelSuccess)
                 {
                     LoadControllerFromPrefab(hand);
                 }
             }
             else
             {
                 var currentController = transform.Find(modelName);
                 currentController.gameObject.SetActive(true);
             }
         }
         PXR_ControllerKeyTips.RefreshTips();
     }
 }
Exemplo n.º 5
0
 public void SetControllerVibration(float strength, int time, PXR_Input.Controller controller)
 {
     PXR_Input.SetControllerVibration(strength, time, controller);
 }
Exemplo n.º 6
0
 public PXR_ControllerLoader(PXR_Input.Controller controller)
 {
     hand = controller;
 }