Beispiel #1
0
        private static string GetGameObjectPath(GameObject go)
        {
            VRC_EventDispatcher dispatcher = Dispatcher;

            if (dispatcher != null)
            {
                return(dispatcher.GetGameObjectPath(go));
            }
            return(GetGameObjectPathFallback(go));
        }
Beispiel #2
0
        private static GameObject FindGameObject(string path)
        {
            VRC_EventDispatcher dispatcher = Dispatcher;

            if (dispatcher != null)
            {
                return(dispatcher.FindGameObject(path, suppressErrors: true));
            }
            return(GameObject.Find(path));
        }
Beispiel #3
0
 public void TriggerEvent(VrcEvent e, VrcBroadcastType broadcast, GameObject instagator = null, float fastForward = 0f)
 {
     if (e == null)
     {
         throw new ArgumentException("Event was null");
     }
     if (instagator == null)
     {
         Debug.LogErrorFormat("Cancelling event {0} because the Instagator was null.", new object[1]
         {
             e.Name
         });
     }
     else
     {
         VRC_EventDispatcher dispatcher = Dispatcher;
         if (dispatcher == null)
         {
             Debug.LogFormat("Deferring event {0} of type {1} because dispatcher is unavailable.", new object[2]
             {
                 e.Name,
                 e.EventType
             });
             DeferEvent(e, broadcast, instagator, fastForward);
         }
         else if ((e.ParameterObjects == null || e.ParameterObjects.Length == 0) && e.ParameterObject == null)
         {
             Debug.LogError((object)("No object to receive event " + e.Name + " of type " + e.EventType));
         }
         else
         {
             int instagatorId = GetInstigatorId(instagator);
             if (e.ParameterObjects != null)
             {
                 GameObject[] parameterObjects = e.ParameterObjects;
                 foreach (GameObject parameterObject in parameterObjects)
                 {
                     GameObject parameterObject2 = e.ParameterObject;
                     e.ParameterObject = parameterObject;
                     try
                     {
                         if (null == e.ParameterObject && IsReceiverRequiredForEventType(e.EventType))
                         {
                             Debug.LogWarning((object)("Null object in parameter objects to receive event " + e.Name + " of type " + e.EventType + ", trigger event ignored."));
                         }
                         else
                         {
                             InternalTriggerEvent(e, broadcast, instagatorId, fastForward);
                         }
                     }
                     finally
                     {
                         e.ParameterObject = parameterObject2;
                     }
                 }
             }
             if (e.ParameterObject != null)
             {
                 InternalTriggerEvent(e, broadcast, instagatorId, fastForward);
             }
         }
     }
 }