Exemple #1
0
 // Use this for initialization
 void OnEnable()
 {
     foreach (var e in EventMap)
     {
         VRsqr_EventsManager.StartListening(e.eventIn, eventHandler_In);
     }
 }
Exemple #2
0
        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);
            }
        }
Exemple #4
0
        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);
                }
            }
        }