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(); } } }
/// <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); } }
//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); }
// 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; }
// 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); } }
/// <summary> /// 隐藏外框 /// </summary> public void HideLine(object sender, DestinationMarkerEventArgs e) { if (highlighter != null) { highlighter.Initialise(); highlighter.Unhighlight(); highlighter = null; } }
/// <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); } }
protected virtual void ControllerAvailable() { if (GetValidHighlighter() != baseHighlighter) { baseHighlighter = null; } ConfigureControllerPaths(); actualModelContainer = (modelContainer != null ? modelContainer : VRTK_DeviceFinder.GetModelAliasController(actualController)); PopulateHighlighters(); ResetLastHighlights(); }
protected virtual void OnDisable() { UnregisterTeleporters(); if (autoHighlighter) { Destroy(objectHighlighter); objectHighlighter = null; } forceDisabled = true; ForceStopInteracting(); }
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(); }
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); } }
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 } }); } }
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 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(); }
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); }
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(); } } }
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); }
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); } }