Exemple #1
0
    private void ToggleHighlight(Transform target, Color color, bool flag)
    {
        VRTK_BaseHighlighter highligher = (target != null ? target.GetComponentInChildren <VRTK_BaseHighlighter>() : null);

        //VRTK_BaseHighlighter highligher = target.GetComponentInChildren<VRTK_BaseHighlighter>();
        if (highligher != null && highligher.enabled)
        {
            if (target.tag == "InteractionObject")
            {
                GameManager._Instance.isCanToMicroscope = flag;
            }

            if (target.tag == "Microscope")
            {
                GameManager._Instance.isMicroscope = flag;
            }
            highligher.Initialise();
            if (color != Color.clear)
            {
                highligher.Highlight(color);
            }
            else
            {
                highligher.Unhighlight();
            }
        }
    }
Exemple #2
0
        /// <summary>
        /// The PopulateHighlighters method sets up the highlighters on the controller model.
        /// </summary>
        public virtual void PopulateHighlighters()
        {
            if (actualController != null)
            {
                highlighterOptions.Clear();
                VRTK_SharedMethods.AddDictionaryValue(highlighterOptions, "resetMainTexture", true, true);

                autoHighlighter = false;
                baseHighlighter = GetValidHighlighter();
                if (baseHighlighter == null)
                {
                    autoHighlighter = true;
                    baseHighlighter = actualController.AddComponent <VRTK_MaterialColorSwapHighlighter>();
                }

                SDK_BaseController.ControllerHand currentHand = VRTK_DeviceFinder.GetControllerHand(actualController);

                baseHighlighter.Initialise(null, actualController, highlighterOptions);

                AddHighlighterToElement(GetElementTransform(VRTK_SDK_Bridge.GetControllerElementPath(SDK_BaseController.ControllerElements.ButtonOne, currentHand)), baseHighlighter, elementHighlighterOverrides.buttonOne);
                AddHighlighterToElement(GetElementTransform(VRTK_SDK_Bridge.GetControllerElementPath(SDK_BaseController.ControllerElements.ButtonTwo, currentHand)), baseHighlighter, elementHighlighterOverrides.buttonTwo);
                AddHighlighterToElement(GetElementTransform(VRTK_SDK_Bridge.GetControllerElementPath(SDK_BaseController.ControllerElements.Body, currentHand)), baseHighlighter, elementHighlighterOverrides.body);
                AddHighlighterToElement(GetElementTransform(VRTK_SDK_Bridge.GetControllerElementPath(SDK_BaseController.ControllerElements.GripLeft, currentHand)), baseHighlighter, elementHighlighterOverrides.gripLeft);
                AddHighlighterToElement(GetElementTransform(VRTK_SDK_Bridge.GetControllerElementPath(SDK_BaseController.ControllerElements.GripRight, currentHand)), baseHighlighter, elementHighlighterOverrides.gripRight);
                AddHighlighterToElement(GetElementTransform(VRTK_SDK_Bridge.GetControllerElementPath(SDK_BaseController.ControllerElements.StartMenu, currentHand)), baseHighlighter, elementHighlighterOverrides.startMenu);
                AddHighlighterToElement(GetElementTransform(VRTK_SDK_Bridge.GetControllerElementPath(SDK_BaseController.ControllerElements.SystemMenu, currentHand)), baseHighlighter, elementHighlighterOverrides.systemMenu);
                AddHighlighterToElement(GetElementTransform(VRTK_SDK_Bridge.GetControllerElementPath(SDK_BaseController.ControllerElements.Touchpad, currentHand)), baseHighlighter, elementHighlighterOverrides.touchpad);
                AddHighlighterToElement(GetElementTransform(VRTK_SDK_Bridge.GetControllerElementPath(SDK_BaseController.ControllerElements.TouchpadTwo, currentHand)), baseHighlighter, elementHighlighterOverrides.touchpadTwo);
                AddHighlighterToElement(GetElementTransform(VRTK_SDK_Bridge.GetControllerElementPath(SDK_BaseController.ControllerElements.Trigger, currentHand)), baseHighlighter, elementHighlighterOverrides.trigger);
            }
        }
Exemple #3
0
        //public override void StartUsing(VRTK_InteractUse currentUsingObject = null)
        //{

        //    base.StartUsing(currentUsingObject);
        //    if (rotator == null)
        //        rotator = GameObject.Find("TheCube").GetComponent<aa>();
        //    //            rotator.Going = !rotator.Going;
        //    rotator.visibility();
        //    myHighlight();

        //}

        //public override void StopUsing(VRTK_InteractUse previousUsingObject = null, bool resetUsingObjectState = true)
        //{
        //    base.StopUsing(previousUsingObject, resetUsingObjectState);
        //    if (rotator == null)
        //        rotator = GameObject.Find("TheCube").GetComponent<aa>();
        //    //            rotator.Going = !rotator.Going;
        //    rotator.visibility();
        //    myHighlight();
        //}

        protected void myHighlight()
        {
            VRTK_BaseHighlighter highligher = transform.GetComponentInChildren <VRTK_BaseHighlighter>();

            highligher.Initialise();
            highligher.Highlight(Color.yellow);
        }
Exemple #4
0
 // Token: 0x06001548 RID: 5448 RVA: 0x00075758 File Offset: 0x00073958
 protected virtual void AddHighlighterToElement(Transform element, VRTK_BaseHighlighter parentHighlighter, VRTK_BaseHighlighter overrideHighlighter)
 {
     if (element != null)
     {
         ((VRTK_BaseHighlighter)VRTK_SharedMethods.CloneComponent((overrideHighlighter != null) ? overrideHighlighter : parentHighlighter, element.gameObject, false)).Initialise(null, this.highlighterOptions);
     }
 }
        private void InitialiseHighlighter()
        {
            var existingHighlighter = Utilities.GetActiveHighlighter(gameObject);

            //If no highlighter is found on the GameObject then create the default one
            if (existingHighlighter == null)
            {
                highlightObject.AddComponent <VRTK_MaterialColorSwapHighlighter>();
            }
            else
            {
                Utilities.CloneComponent(existingHighlighter, highlightObject);
            }

            //Initialise highlighter and set highlight colour
            objectHighlighter = highlightObject.GetComponent <VRTK_BaseHighlighter>();
            objectHighlighter.Initialise(highlightColor);
            objectHighlighter.Highlight(highlightColor);

            //if the object highlighter is using a cloned object then disable the created highlight object's renderers
            if (objectHighlighter.UsesClonedObject())
            {
                foreach (var renderer in GetComponentsInChildren <Renderer>(true))
                {
                    var check = renderer.GetComponent <VRTK_PlayerObject>();
                    if (!check || check.objectType != VRTK_PlayerObject.ObjectTypes.Highlighter)
                    {
                        renderer.enabled = false;
                    }
                }
            }
        }
 protected virtual void DeleteHighlightObject()
 {
     ChooseDestroyType(transform.Find(HIGHLIGHT_CONTAINER_NAME));
     highlightContainer = null;
     highlightObject    = null;
     objectHighlighter  = null;
 }
Exemple #7
0
        // Token: 0x06001222 RID: 4642 RVA: 0x00068A0C File Offset: 0x00066C0C
        protected virtual void InitialiseHighlighter()
        {
            VRTK_BaseHighlighter activeHighlighter = VRTK_BaseHighlighter.GetActiveHighlighter(base.gameObject);

            if (activeHighlighter == null)
            {
                this.highlightObject.AddComponent <VRTK_MaterialColorSwapHighlighter>();
            }
            else
            {
                VRTK_SharedMethods.CloneComponent(activeHighlighter, this.highlightObject, false);
            }
            this.objectHighlighter = this.highlightObject.GetComponent <VRTK_BaseHighlighter>();
            this.objectHighlighter.unhighlightOnDisable = false;
            this.objectHighlighter.Initialise(new Color?(this.highlightColor), null);
            this.objectHighlighter.Highlight(new Color?(this.highlightColor), 0f);
            if (this.objectHighlighter.UsesClonedObject())
            {
                foreach (Renderer renderer in base.GetComponentsInChildren <Renderer>(true))
                {
                    if (!VRTK_PlayerObject.IsPlayerObject(renderer.gameObject, VRTK_PlayerObject.ObjectTypes.Highlighter))
                    {
                        renderer.enabled = false;
                    }
                }
            }
        }
    private void HighLight(Transform target, Color color)
    {
        VRTK_BaseHighlighter highlighter = (target !=
                                            null ? target.GetComponent <VRTK_BaseHighlighter>() : null);

        if (highlighter != null)
        {
            highlighter.Initialise();

            if (target.gameObject.tag == "1")
            {
                SceneManager.LoadScene(1);
            }
            if (target.gameObject.tag == "2")
            {
                SceneManager.LoadScene(0);
            }

            if (color != Color.clear)
            {
                highlighter.Highlight(color);
            }
            else
            {
                highlighter.Unhighlight();
            }
        }
    }
        protected virtual void InitialiseHighlighter()
        {
            VRTK_BaseHighlighter existingHighlighter = VRTK_BaseHighlighter.GetActiveHighlighter(gameObject);

            //If no highlighter is found on the GameObject then create the default one
            if (existingHighlighter == null)
            {
                highlightObject.AddComponent <VRTK_MaterialColorSwapHighlighter>();
            }
            else
            {
                VRTK_SharedMethods.CloneComponent(existingHighlighter, highlightObject);
            }

            //Initialise highlighter and set highlight colour
            objectHighlighter = highlightObject.GetComponent <VRTK_BaseHighlighter>();
            objectHighlighter.unhighlightOnDisable = false;
            objectHighlighter.Initialise(highlightColor);
            objectHighlighter.Highlight(highlightColor);

            //if the object highlighter is using a cloned object then disable the created highlight object's renderers
            if (objectHighlighter.UsesClonedObject())
            {
                Renderer[] renderers = GetComponentsInChildren <Renderer>(true);
                for (int i = 0; i < renderers.Length; i++)
                {
                    if (!VRTK_PlayerObject.IsPlayerObject(renderers[i].gameObject, VRTK_PlayerObject.ObjectTypes.Highlighter))
                    {
                        renderers[i].enabled = false;
                    }
                }
            }
        }
 private void DeleteHighlightObject()
 {
     ChooseDestroyType(transform.FindChild(HIGHLIGHT_CONTAINER_NAME));
     highlightContainer = null;
     highlightObject    = null;
     objectHighlighter  = null;
 }
 private void Start()
 {
     m_Highter = GetComponent <VRTK_BaseHighlighter>();
     m_VRTKIO  = GetComponent <VRTK_InteractableObject>();
     m_VRTKIO.InteractableObjectGrabbed   += M_VRTKIO_InteractableObjectGrabbed;
     m_VRTKIO.InteractableObjectUngrabbed += M_VRTKIO_InteractableObjectUngrabbed;
     m_VRTKIO.InteractableObjectTouched   += M_VRTKIO_InteractableObjectTouched;
 }
 protected virtual void AddHighlighterToElement(Transform element, VRTK_BaseHighlighter parentHighlighter, VRTK_BaseHighlighter overrideHighlighter)
 {
     if (element != null)
     {
         VRTK_BaseHighlighter highlighter       = (overrideHighlighter != null ? overrideHighlighter : parentHighlighter);
         VRTK_BaseHighlighter clonedHighlighter = (VRTK_BaseHighlighter)VRTK_SharedMethods.CloneComponent(highlighter, element.gameObject);
         clonedHighlighter.Initialise(null, highlighterOptions);
     }
 }
        protected virtual void InternalUnhighlightObject(GameObject model)
        {
            VRTK_BaseHighlighter highlighter = model.GetComponentInChildren <VRTK_BaseHighlighter>();

            if (model.activeInHierarchy && highlighter != null)
            {
                highlighter.Unhighlight();
            }
        }
 private void AddHighlighterToElement(Transform element, VRTK_BaseHighlighter parentHighlighter, VRTK_BaseHighlighter overrideHighlighter)
 {
     if (element)
     {
         var highlighter = (overrideHighlighter != null ? overrideHighlighter : parentHighlighter);
         VRTK_BaseHighlighter clonedHighlighter = (VRTK_BaseHighlighter)Utilities.CloneComponent(highlighter, element.gameObject);
         clonedHighlighter.Initialise(null, highlighterOptions);
     }
 }
Exemple #15
0
 /// <summary>
 /// 隐藏外框
 /// </summary>
 public void HideLine(object sender, DestinationMarkerEventArgs e)
 {
     if (highlighter != null)
     {
         highlighter.Initialise();
         highlighter.Unhighlight();
         highlighter = null;
     }
 }
Exemple #16
0
 /// <summary>
 /// 显示外框
 /// </summary>
 public void DisplayLine(object sender, DestinationMarkerEventArgs e)
 {
     highlighter = e.target.GetComponent <VRTK_BaseHighlighter>();
     if (highlighter != null)
     {
         highlighter.Initialise();
         highlighter.Highlight(Color.yellow);
     }
 }
        protected virtual void InternalHighlightObject(GameObject model, Color?highlightColor, float fadeDuration = 0f)
        {
            VRTK_BaseHighlighter highlighter = model.GetComponentInChildren <VRTK_BaseHighlighter>();

            if (model.activeInHierarchy && highlighter != null)
            {
                highlighter.Highlight((highlightColor != null ? highlightColor : Color.white), fadeDuration);
            }
        }
Exemple #18
0
 protected virtual void ControllerAvailable()
 {
     if (GetValidHighlighter() != baseHighlighter)
     {
         baseHighlighter = null;
     }
     ConfigureControllerPaths();
     actualModelContainer = (modelContainer != null ? modelContainer : VRTK_DeviceFinder.GetModelAliasController(actualController));
     PopulateHighlighters();
     ResetLastHighlights();
 }
Exemple #19
0
        protected virtual void OnDisable()
        {
            UnregisterTeleporters();

            if (autoHighlighter)
            {
                Destroy(objectHighlighter);
                objectHighlighter = null;
            }

            forceDisabled = true;
            ForceStopInteracting();
        }
Exemple #20
0
        protected virtual void OnEnable()
        {
#pragma warning disable 0618
            objectToMonitor   = (objectToMonitor == null ? objectToAffect : objectToMonitor);
            objectToHighlight = (objectToHighlight == null && objectToAffect != null ? objectToAffect.gameObject : objectToHighlight);
#pragma warning restore 0618

            objectToHighlight = (objectToHighlight != null ? objectToHighlight : gameObject);
            if (GetValidHighlighter() != baseHighlighter)
            {
                baseHighlighter = null;
            }
            EnableListeners();
        }
Exemple #21
0
 protected virtual void InitialiseHighlighter(Color highlightColor)
 {
     if (baseHighlighter == null && highlightColor != Color.clear)
     {
         createBaseHighlighter = false;
         baseHighlighter       = GetValidHighlighter();
         if (baseHighlighter == null)
         {
             createBaseHighlighter = true;
             baseHighlighter       = objectToHighlight.AddComponent <VRTK_MaterialColorSwapHighlighter>();
         }
         baseHighlighter.Initialise(highlightColor, objectToHighlight);
     }
 }
Exemple #22
0
    private void Awake()
    {
        _interactable = gameObject.GetComponent <Interactable>();

        // Optional.
        _highlighter = gameObject.GetComponent <VRTK_BaseHighlighter>();
        if (_highlighter != null)
        {
            _highlighter.Initialise(null, new Dictionary <string, object>()
            {
                { "resetMainTexture", true }
            });
        }
    }
Exemple #23
0
 protected virtual void InitialiseHighlighter()
 {
     if (highlightOnTouch)
     {
         autoHighlighter   = false;
         objectHighlighter = Utilities.GetActiveHighlighter(gameObject);
         if (objectHighlighter == null)
         {
             autoHighlighter   = true;
             objectHighlighter = gameObject.AddComponent <VRTK_MaterialColorSwapHighlighter>();
         }
         objectHighlighter.Initialise(touchHighlightColor);
     }
 }
Exemple #24
0
 protected virtual void InitialiseHighlighter()
 {
     if (touchHighlightColor != Color.clear && !objectHighlighter)
     {
         autoHighlighter   = false;
         objectHighlighter = VRTK_BaseHighlighter.GetActiveHighlighter(gameObject);
         if (objectHighlighter == null)
         {
             autoHighlighter   = true;
             objectHighlighter = gameObject.AddComponent <VRTK_MaterialColorSwapHighlighter>();
         }
         objectHighlighter.Initialise(touchHighlightColor);
     }
 }
 protected virtual void OnDisable()
 {
     foreach (var teleporter in VRTK_ObjectCache.registeredTeleporters)
     {
         teleporter.Teleporting -= new TeleportEventHandler(OnTeleporting);
         teleporter.Teleported  -= new TeleportEventHandler(OnTeleported);
     }
     if (autoHighlighter)
     {
         Destroy(objectHighlighter);
         objectHighlighter = null;
     }
     forceDisabled = true;
     ForceStopInteracting();
 }
Exemple #26
0
        public static VRTK_BaseHighlighter GetActiveHighlighter(GameObject obj)
        {
            VRTK_BaseHighlighter objectHighlighter = null;

            foreach (var tmpHighlighter in obj.GetComponents <VRTK_BaseHighlighter>())
            {
                if (tmpHighlighter.active)
                {
                    objectHighlighter = tmpHighlighter;
                    break;
                }
            }

            return(objectHighlighter);
        }
Exemple #27
0
    private void ToggleHighlight(Transform target, Color color, bool flag)
    {
        VRTK_BaseHighlighter highligher = (target != null ? target.GetComponentInChildren <VRTK_BaseHighlighter>() : null);

        if (highligher != null)
        {
            highligher.Initialise();
            if (color != Color.clear)
            {
                highligher.Highlight(color, 0.5f);
            }
            else
            {
                highligher.Unhighlight();
            }
        }
    }
Exemple #28
0
    private void HightLight(Transform target, Color color)
    {
        VRTK_BaseHighlighter hightLighter = (target != null ? target.GetComponent <VRTK_BaseHighlighter>() : null);

        if (hightLighter != null)
        {
            hightLighter.Initialise();
            if (color != Color.clear)
            {
                hightLighter.Highlight(color);
            }
            else
            {
                hightLighter.Unhighlight();
            }
        }
    }
        protected virtual void ToggleHighlight(Transform target, Color color)
        {
            VRTK_BaseHighlighter highligher = (target != null ? target.GetComponentInChildren <VRTK_BaseHighlighter>() : null);

            if (highligher != null)
            {
                highligher.Initialise();
                if (color != Color.clear)
                {
                    highligher.Highlight(color);
                }
                else
                {
                    highligher.Unhighlight();
                }
            }
        }
        protected virtual void CreatePermanentClone()
        {
            VRTK_BaseHighlighter currentSnappedObjectHighlighter = currentSnappedObject.GetComponent <VRTK_BaseHighlighter>();

            if (currentSnappedObjectHighlighter != null)
            {
                currentSnappedObjectHighlighter.Unhighlight();
            }
            objectToClone = Instantiate(currentSnappedObject);
            Collider[] clonedObjectStates = currentSnappedObject.GetComponentsInChildren <Collider>();
            clonedObjectColliderStates = new bool[clonedObjectStates.Length];
            for (int i = 0; i < clonedObjectStates.Length; i++)
            {
                Collider clonedObjectColliderState = clonedObjectStates[i];
                clonedObjectColliderStates[i]       = clonedObjectColliderState.isTrigger;
                clonedObjectColliderState.isTrigger = true;
            }
            objectToClone.SetActive(false);
        }
 private void AddHighlighterToElement(Transform element, VRTK_BaseHighlighter parentHighlighter, VRTK_BaseHighlighter overrideHighlighter)
 {
     if (element)
     {
         var highlighter = (overrideHighlighter != null ? overrideHighlighter : parentHighlighter);
         VRTK_BaseHighlighter clonedHighlighter = (VRTK_BaseHighlighter)Utilities.CloneComponent(highlighter, element.gameObject);
         clonedHighlighter.Initialise(null, highlighterOptions);
     }
 }
 protected virtual void InitialiseHighlighter()
 {
     if (highlightOnTouch)
     {
         autoHighlighter = false;
         objectHighlighter = Utilities.GetActiveHighlighter(gameObject);
         if (objectHighlighter == null)
         {
             autoHighlighter = true;
             objectHighlighter = gameObject.AddComponent<VRTK_MaterialColorSwapHighlighter>();
         }
         objectHighlighter.Initialise(touchHighlightColor);
     }
 }
 protected virtual void OnDisable()
 {
     foreach (var teleporter in VRTK_ObjectCache.registeredTeleporters)
     {
         teleporter.Teleporting -= new TeleportEventHandler(OnTeleporting);
         teleporter.Teleported -= new TeleportEventHandler(OnTeleported);
     }
     if (autoHighlighter)
     {
         Destroy(objectHighlighter);
         objectHighlighter = null;
     }
     forceDisabled = true;
     ForceStopInteracting();
 }