// Use this for initialization void OnEnable() { foreach (var e in EventMap) { VRsqr_EventsManager.StartListening(e.eventIn, eventHandler_In); } }
public void StartListening(GameObject listeningObj, UnityAction <int> customEventHandler = null) { VRsqrUtil.Debug.Log("StartListening"); this.basicEventHandler = eventHandlerFunc; VRsqrUtil.Debug.Log("StartListening: listeningObj.name = " + listeningObj.name); string gameObjName = listeningObj.name; Type tempType = this.GetType(); String typeString = tempType.ToString(); string[] splitArray = typeString.Split("+"[0]); string scriptName = splitArray[0]; VRsqrUtil.Debug.Log("StartListening: scriptName = " + scriptName); Component script = listeningObj.GetComponent(scriptName); FieldInfo[] scriptFields = script.GetType().GetFields(); string eventName = gameObjName; foreach (FieldInfo field in scriptFields) { VRsqrUtil.Debug.Log("StartListening: field = " + field.Name); if (System.Object.ReferenceEquals(field.GetValue(script), this)) { VRsqrUtil.Debug.Log("=== StartListening: field.GetValue(script) = " + field.GetValue(script)); eventName += "." + field.Name; } } this.eventName = eventName; VRsqr_EventsManager.StartListening(eventName, this.basicEventHandler); if (customEventHandler != null) { this.customEventHandler = customEventHandler; VRsqr_EventsManager.StartListening(eventName, this.customEventHandler); } FieldInfo[] eventParamFieldInfo = this.GetType().GetFields(); foreach (FieldInfo pfi in eventParamFieldInfo) { if (pfi.FieldType != typeof(EventParam)) // TEMP { string varName = pfi.Name; VRsqrUtil.Debug.Log("StartListening: varName = " + varName); this.eventParamFields.Add(new EventParamsField { fiEventParamObj = pfi, paramName = varName }); } } }
public void StartListening(GameObject listeningObj, UnityAction <int> customEventHandler = null) { VRsqrUtil.Debug.LogInfo("StartListening"); if (initialized == false) { Init(listeningObj); eventParams = new EventParam[eventParamFields.Count]; initialized = true; } this.basicEventHandler = eventHandlerFunc; VRsqr_EventsManager.StartListening(this.eventName, this.basicEventHandler); if (customEventHandler != null) { this.customEventHandler = customEventHandler; VRsqr_EventsManager.StartListening(this.eventName, this.customEventHandler); } }
public void StartListening(UnityAction <int> customEventHandler = null) { VRsqrUtil.Debug.Log(LogLevel.Warning, "StartListening: customEventHandler = " + customEventHandler); this.basicEventHandler = eventHandlerFunc; Type tempType = this.GetType(); VRsqrUtil.Debug.Log(LogLevel.Warning, "StartListening: tempType = " + tempType); FieldInfo tempInfo = tempType.GetField("eventName"); VRsqrUtil.Debug.Log(LogLevel.Warning, "StartListening: tempInfo = " + tempInfo); string eventName = (string)this.GetType().GetField("eventName").GetValue(this); VRsqrUtil.Debug.Log(LogLevel.Warning, "StartListening: eventName = " + eventName); VRsqr_EventsManager.StartListening(eventName, this.basicEventHandler); if (customEventHandler != null) { this.customEventHandler = customEventHandler; VRsqr_EventsManager.StartListening(eventName, this.customEventHandler); } eventParamFields = new List <EventParamsField>(); FieldInfo[] eventParamFieldInfo = this.GetType().GetFields(); foreach (FieldInfo pfi in eventParamFieldInfo) { if (pfi.FieldType == typeof(EventParam)) { //string nameFieldVal = (string)typeof(EventParam).GetField("NameString").GetValue(pfi.GetValue(eventListenerData)); FieldInfo fiParamName = typeof(EventParam).GetField("NameString"); this.eventParamFields.Add(new EventIn.EventParamsField { fiEventParamObj = pfi, fiParamName = fiParamName }); VRsqrUtil.Debug.Log(LogLevel.Warning, "StartListening: fiParamName.Name = " + fiParamName.Name); //EventParam ep = VRsqr_EventsManager.GetEventParam(EventContext, nameFieldVal); //pfi.SetValue(eventListenerData, ep); } } }