public static void StartListening(string eventName, UnityAction <ParamsObject> listener) { ParamsEvent thisEvent = null; if (instance.eventDictionary.TryGetValue(eventName, out thisEvent)) { thisEvent.AddListener(listener); } else { thisEvent = new ParamsEvent(); thisEvent.AddListener(listener); instance.eventDictionary.Add(eventName, thisEvent); } ParamsObject paramsObj = null; if (instance.lastEventValues != null && instance.lastEventValues.TryGetValue(eventName, out paramsObj)) { if (paramsObj != null) { listener.Invoke(paramsObj); } } }
public void StartListening(string eventName, UnityAction <ParamsObject> listener) { if (eventDictionary == null) { eventDictionary = new Dictionary <string, ParamsEvent>(); lastEventValues = new Dictionary <string, ParamsObject>(); } ParamsEvent thisEvent = null; if (eventDictionary.TryGetValue(eventName, out thisEvent)) { thisEvent.AddListener(listener); } else { thisEvent = new ParamsEvent(); thisEvent.AddListener(listener); eventDictionary.Add(eventName, thisEvent); } ParamsObject paramsObj = null; if (lastEventValues != null && lastEventValues.TryGetValue(eventName, out paramsObj)) { if (paramsObj != null) { listener.Invoke(paramsObj); } } }
public static void TriggerEvent(string eventName, ParamsObject paramsObj = null) { ParamsEvent thisEvent = null; if (instance.eventDictionary.TryGetValue(eventName, out thisEvent)) { thisEvent.Invoke(paramsObj); } if (instance.lastEventValues != null) { instance.lastEventValues[eventName] = paramsObj; } }
public void TriggerEvent(string eventName, ParamsObject paramsObj = null) { if (eventDictionary == null) { eventDictionary = new Dictionary <string, ParamsEvent>(); lastEventValues = new Dictionary <string, ParamsObject>(); } ParamsEvent thisEvent = null; if (eventDictionary.TryGetValue(eventName, out thisEvent)) { thisEvent.Invoke(paramsObj); lastEventValues[eventName] = paramsObj; } }
public static void TriggerRadiusEvent(string eventName, Vector2 origin, float radius, LayerMask layerMask, ParamsObject paramsObj = null, Collider2D ignoreCollider = null) { Collider2D[] hits = Physics2D.OverlapCircleAll(origin, radius, layerMask); GameObjectEventManager eventManager; foreach (Collider2D hit in hits) { if (ignoreCollider != null && hit.Equals(ignoreCollider)) { continue; } eventManager = hit.GetComponent <GameObjectEventManager>(); if (eventManager != null) { eventManager.TriggerEvent(eventName, paramsObj); } } }
private void OnMapSendTransform(ParamsObject paramsObj) { eventManager.TriggerEvent(EnemyEvents.OnMapSendTransform, paramsObj); GlobalEventManager.StopListening(MapGlobalEvents.OnMapSendTransform, onMapSendTransformUnityAction); }
private void OnPlayerSendRigidbody(ParamsObject paramsObj) { eventManager.TriggerEvent(EnemyEvents.OnPlayerSendRigidbody, paramsObj); GlobalEventManager.StopListening(PlayerGlobalEvents.OnPlayerSendRigidbody, onPlayerSendRigidbodyUnityAction); }
private void OnUpdateMaxAmmo(ParamsObject paramsObj) { GlobalEventManager.TriggerEvent(PlayerGlobalEvents.OnPlayerUpdateMaxAmmo, paramsObj); }
private void OnUpdateCurrentHealth(ParamsObject paramsObj) { GlobalEventManager.TriggerEvent(PlayerGlobalEvents.OnPlayerUpdateCurrentHealth, paramsObj); }