Ejemplo n.º 1
0
        protected virtual InteractObjectHighlighterEventArgs SetEventArgs(VRTK_InteractableObject.InteractionType interactionType, GameObject affectingObject)
        {
            currentAffectingObject = affectingObject;
            InteractObjectHighlighterEventArgs e;

            e.interactionType = interactionType;
            e.highlightColor  = currentColour;
            e.affectingObject = affectingObject;
            e.objectToMonitor = objectToMonitor;
            e.affectedObject  = objectToHighlight;
            return(e);
        }
Ejemplo n.º 2
0
        protected virtual IEnumerator ToggleStateAfterTime(GameObject objectToToggle, bool gameObjectShow, bool rendererShow, float delayTime, VRTK_InteractableObject.InteractionType interactionType)
        {
            yield return(new WaitForSeconds(delayTime));

            ToggleState(objectToToggle, gameObjectShow, rendererShow, interactionType);
        }
Ejemplo n.º 3
0
        protected virtual void ToggleState(GameObject objectToToggle, bool gameObjectShow, bool rendererShow, VRTK_InteractableObject.InteractionType interactionType)
        {
            if (objectToToggle != null)
            {
                if (!currentRenderStates.ContainsKey(objectToToggle) || currentRenderStates[objectToToggle] != rendererShow)
                {
                    VRTK_ObjectAppearance.ToggleRenderer(rendererShow, objectToToggle, ObjectToIgnore());
                    EmitRenderEvent(objectToToggle, rendererShow, interactionType);
                }

                if (!currentGameObjectStates.ContainsKey(objectToToggle) || currentGameObjectStates[objectToToggle] != gameObjectShow)
                {
                    objectToToggle.SetActive(gameObjectShow);
                    EmitGameObjectEvent(objectToToggle, gameObjectShow, interactionType);
                }

                VRTK_SharedMethods.AddDictionaryValue(currentRenderStates, objectToToggle, rendererShow, true);
                VRTK_SharedMethods.AddDictionaryValue(currentGameObjectStates, objectToToggle, gameObjectShow, true);
            }
        }
Ejemplo n.º 4
0
 protected virtual void EmitGameObjectEvent(GameObject objectToToggle, bool gameObjectShow, VRTK_InteractableObject.InteractionType interactionType)
 {
     if (gameObjectShow)
     {
         OnGameObjectEnabled(SetPayload(objectToToggle, interactionType));
     }
     else
     {
         OnGameObjectDisabled(SetPayload(objectToToggle, interactionType));
     }
 }
Ejemplo n.º 5
0
 protected virtual void EmitRenderEvent(GameObject objectToToggle, bool rendererShow, VRTK_InteractableObject.InteractionType interactionType)
 {
     if (rendererShow)
     {
         OnRenderersEnabled(SetPayload(objectToToggle, interactionType));
     }
     else
     {
         OnRenderersDisabled(SetPayload(objectToToggle, interactionType));
     }
 }
Ejemplo n.º 6
0
        protected virtual InteractObjectAppearanceEventArgs SetPayload(GameObject affectingObject, VRTK_InteractableObject.InteractionType interactionType)
        {
            InteractObjectAppearanceEventArgs e;

            e.affectingObject  = affectingObject;
            e.monitoringObject = objectToMonitor;
            e.objectToIgnore   = ObjectToIgnore();
            e.interactionType  = interactionType;
            return(e);
        }