Esempio n. 1
0
    //called from VRTK_ControllerEvents_UnityEvents on the RightControllerScriptAlias
    public void CheckValidToEdit()
    {
        //Check if pointer is active and pointing at a valid object
        if (pointer.isActiveAndEnabled && pointer.IsStateValid())
        {
            currentSelected = pointer.pointerRenderer.GetDestinationHit().transform.GetComponentInChildren <Renderer>().gameObject;

            //changeObjectMaterial if currentSelected is a "MaterialCube"
            if (currentSelected.CompareTag("MaterialCube"))
            {
                ChangeMaterial(currentSelected.GetComponent <Renderer>().material);
            }


            //return if object isn't "Editable"
            if (!currentSelected.CompareTag("Editable"))
            {
                return;
            }

            //Determine whether the object is being selected or deselected
            if (currentSelected == lastSelected && currentSelected.GetComponent <VRTK_OutlineObjectCopyHighlighter>())
            {
                DeselectObject();
            }
            else
            {
                SelectObject();
            }
        }
    }
 public void CheckValidToGrab()
 {
     if (pointer.isActiveAndEnabled && pointer.IsStateValid())
     {
         currentSelected = pointer.pointerRenderer.GetDestinationHit().transform.gameObject;
         PickUp();
     }
 }
Esempio n. 3
0
        void checkPointer()
        {
            var go = Fsm.GetOwnerDefaultTarget(gameObject);

            if (go == null)
            {
                return;
            }

            validHit.Value = pointer.IsStateValid();
        }
 void InitEvent()
 {
     #region INTERACTION
     m_interTouch.ControllerTouchInteractableObject += (sender, e) =>
     {
         if (m_touch_Audio)
         {
             m_touch_Audio.PlayOneShot();
         }
     };
     m_interGrab.ControllerGrabInteractableObject += (sender, e) =>
     {
         if (m_grab_Audio)
         {
             m_grab_Audio.PlayOneShot();
         }
     };
     #endregion
     #region TELEPORT
     m_pointer.ActivationButtonPressed += (sender, e) =>
     {
         if (!m_interGrab.GetGrabbedObject())
         {
             m_teleport_Start.Play();
             m_teleport_Loop.Play();
         }
     };
     m_pointer.ActivationButtonReleased += (sender, e) =>
     {
         m_teleport_Loop.Pause();
         if (m_pointer.IsStateValid())
         {
             m_teleport_Go.Play();
         }
     };
     m_pointer.PointerStateValid += (sender, e) =>
     {
         m_teleport_GoodPlace.Play();
     };
     m_pointer.PointerStateInvalid += (sender, e) =>
     {
         m_teleport_BadPlace.Play();
     };
     #endregion
 }