Exemplo n.º 1
0
        // Start is called before the first frame update
        void Start()
        {
            if (VR.GetPlatform() == VR.Platform.None)
            {
                this.enabled = false;
                return;
            }

            RightControllerButton0  = TransformUtils.FindTransform("AButton");
            RightControllerButton1  = TransformUtils.FindTransform("BButton");
            RightControllerJoystick = TransformUtils.FindTransform("RightJoystickCenter");
            RightControllerTrigger  = TransformUtils.FindTransform("RightTriggerCenter");
            RightControllerGrip     = TransformUtils.FindTransform("RightGripCenter");

            LeftControllerButton0  = TransformUtils.FindTransform("XButton");
            LeftControllerButton1  = TransformUtils.FindTransform("YButton");
            LeftControllerJoystick = TransformUtils.FindTransform("LeftJoystickCenter");
            LeftControllerTrigger  = TransformUtils.FindTransform("LeftTriggerCenter");
            LeftControllerGrip     = TransformUtils.FindTransform("LeftGripCenter");

            MenuButton = TransformUtils.FindTransform("MenuButton");
            HomeButton = TransformUtils.FindTransform("HomeButton");

            leftController  = TransformUtils.FindTransform("LeftControllerAnchor");
            rightController = TransformUtils.FindTransform("RightControllerAnchor");

            transform.parent        = rightController;
            transform.localPosition = Vector3.zero;
            transform.localRotation = Quaternion.identity;

            rightVRInputToTransform = new Hashtable();

            rightVRInputToTransform.Add(VRInput.Button0, RightControllerButton0);
            rightVRInputToTransform.Add(VRInput.Button1, RightControllerButton1);
            rightVRInputToTransform.Add(VRInput.JoystickClick, RightControllerJoystick);
            rightVRInputToTransform.Add(VRInput.JoystickHorizontal, RightControllerJoystick);
            rightVRInputToTransform.Add(VRInput.JoystickVertical, RightControllerJoystick);
            rightVRInputToTransform.Add(VRInput.Trigger, RightControllerTrigger);
            rightVRInputToTransform.Add(VRInput.Grip, RightControllerGrip);
            rightVRInputToTransform.Add(VRInput.MenuButton, HomeButton);

            leftVRInputToTransform = new Hashtable();

            leftVRInputToTransform.Add(VRInput.Button0, LeftControllerButton0);
            leftVRInputToTransform.Add(VRInput.Button1, LeftControllerButton1);
            leftVRInputToTransform.Add(VRInput.JoystickClick, LeftControllerJoystick);
            leftVRInputToTransform.Add(VRInput.JoystickHorizontal, LeftControllerJoystick);
            leftVRInputToTransform.Add(VRInput.JoystickVertical, LeftControllerJoystick);
            leftVRInputToTransform.Add(VRInput.Trigger, LeftControllerTrigger);
            leftVRInputToTransform.Add(VRInput.Grip, LeftControllerGrip);
            leftVRInputToTransform.Add(VRInput.MenuButton, MenuButton);

            //Create hashtable linking generic vrinputs to OVRInputs
            VRInputToOVRButton = new Hashtable();
            VRInputToOVRButton.Add(VRInput.Button0, OVRInput.Button.One);
            VRInputToOVRButton.Add(VRInput.Button1, OVRInput.Button.Two);
            VRInputToOVRButton.Add(VRInput.JoystickClick, OVRInput.Button.PrimaryThumbstick);
            VRInputToOVRButton.Add(VRInput.JoystickHorizontal, OVRInput.Button.PrimaryThumbstickRight);
            VRInputToOVRButton.Add(VRInput.JoystickVertical, OVRInput.Button.PrimaryThumbstickUp);
            VRInputToOVRButton.Add(VRInput.Trigger, OVRInput.Button.PrimaryIndexTrigger);
            VRInputToOVRButton.Add(VRInput.Grip, OVRInput.Button.PrimaryHandTrigger);
            VRInputToOVRButton.Add(VRInput.MenuButton, OVRInput.Button.Start);

            VRInputToOVRButtonAlternate = new Hashtable();
            VRInputToOVRButtonAlternate.Add(VRInput.Button0, OVRInput.Button.One);
            VRInputToOVRButtonAlternate.Add(VRInput.Button1, OVRInput.Button.Two);
            VRInputToOVRButtonAlternate.Add(VRInput.JoystickClick, OVRInput.Button.PrimaryThumbstick);
            VRInputToOVRButtonAlternate.Add(VRInput.JoystickHorizontal, OVRInput.Button.PrimaryThumbstickLeft);
            VRInputToOVRButtonAlternate.Add(VRInput.JoystickVertical, OVRInput.Button.PrimaryThumbstickDown);
            VRInputToOVRButtonAlternate.Add(VRInput.Trigger, OVRInput.Button.PrimaryIndexTrigger);
            VRInputToOVRButtonAlternate.Add(VRInput.Grip, OVRInput.Button.PrimaryHandTrigger);
            VRInputToOVRButtonAlternate.Add(VRInput.MenuButton, OVRInput.Button.Start);
        }