private static string GetGameObjectPath(GameObject go) { VRC_EventDispatcher dispatcher = Dispatcher; if (dispatcher != null) { return(dispatcher.GetGameObjectPath(go)); } return(GetGameObjectPathFallback(go)); }
private static GameObject FindGameObject(string path) { VRC_EventDispatcher dispatcher = Dispatcher; if (dispatcher != null) { return(dispatcher.FindGameObject(path, suppressErrors: true)); } return(GameObject.Find(path)); }
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); } } } }