Ejemplo n.º 1
0
        // HELPERS



        IEnumerator RemoveAfterSeconds(int seconds, WI_InteractionController controller)
        {
            yield return(new WaitForSeconds(seconds));

            controller.transform.GetChild(2).gameObject.SetActive(false);
            menuExists = false;
        }
Ejemplo n.º 2
0
        private void AddFixedJointToController(WI_InteractionController controller)
        {
            FixedJoint fx = controller.gameObject.AddComponent <FixedJoint> ();

            fx.breakForce    = 20000;
            fx.breakTorque   = 20000;
            fx.connectedBody = rb;
        }
Ejemplo n.º 3
0
 private void RemoveFixedJointFromController(WI_InteractionController controller)
 {
     if (controller.gameObject.GetComponent <FixedJoint> ())
     {
         FixedJoint fx = controller.gameObject.GetComponent <FixedJoint> ();
         fx.connectedBody = null;
         Destroy(fx);
     }
 }
Ejemplo n.º 4
0
        // On trigger down, grab object.
        public override void OnTriggerWasPressed(WI_InteractionController controller)
        {
            base.OnTriggerWasPressed(controller);

            if (hideControllerModelOnGrab)
            {
                controller.HideControllerModel();
            }

            AddFixedJointToController(controller);
        }
Ejemplo n.º 5
0
        // INTERACTION DEFINITIONS
        // On press up, scale up.
        public override void OnPressDown(WI_InteractionController controller)
        {
            base.OnPressDown(controller);
            current_scale_f = rb.transform.localScale.x;
            current_scale_i = (int)(current_scale_f * 1000.0f);

            if (current_scale_i > lower_bound_i)
            {
                // Set the third child as active
                controller.transform.GetChild(2).gameObject.SetActive(true);

                StartCoroutine(RemoveAfterSeconds(10, controller));
                menuExists = true;
                ScaleDown();
            }
        }
Ejemplo n.º 6
0
        // On press down, scale down.
        public override void OnPressUp(WI_InteractionController controller)
        {
            base.OnPressUp(controller);
            // OKAY SOME WEIRD BLACK MAGIC IS HAPPENING HERE. IF I ADD THE TWO LINES BELOW (WHICH
            //  SHOULD NOT DO ANYTHING EXCEPT GET THE VALUE), THE MAX SCALE GOES TO 5. I DON'T GET
            //  IT BUT I'M JUST GONNA IGNORE THE PROBLEM BECAUSE I'M GOING INSANE.
            //current_scale_f = rb.transform.localScale.x;
            //current_scale_i = (int)(current_scale_f * 1000.0f);

            if (current_scale_i < upper_bound_i)
            {
                controller.transform.GetChild(2).gameObject.SetActive(true);
                StartCoroutine(RemoveAfterSeconds(5, controller));
                menuExists = true;
                ScaleUp();
            }
        }
Ejemplo n.º 7
0
        // On trigger released, drop object.
        public override void OnTriggerWasReleased(WI_InteractionController controller)
        {
            base.OnTriggerWasReleased(controller);

            if (hideControllerModelOnGrab)
            {
                controller.ShowControllerModel();
            }

            rb.velocity        = controller.velocity;
            rb.angularVelocity = controller.angularVelocity;
            RemoveFixedJointFromController(controller);
            controller.SetHandMenuActive(false);

            // If the slider is still there, destroy it.
            if (menuExists)
            {
                controller.transform.GetChild(2).gameObject.SetActive(false);
                menuExists = false;
            }
        }
Ejemplo n.º 8
0
 public virtual void OnPressUp(WI_InteractionController controller)
 {
     currentController = controller;
 }
Ejemplo n.º 9
0
 public virtual void OnButton3Pressed(WI_InteractionController controller)
 {
     currentController = controller;
 }
Ejemplo n.º 10
0
 public virtual void OnTriggerWasReleased(WI_InteractionController controller)
 {
     currentController = null;
 }
Ejemplo n.º 11
0
 public virtual void OnTriggerIsBeingPressed(WI_InteractionController controller)
 {
 }
Ejemplo n.º 12
0
        public WI_InteractionController currentController; //3



        public virtual void OnTriggerWasPressed(WI_InteractionController controller)
        {
            currentController = controller;
        }