Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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);
                }
            }
        }
Пример #3
0
        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;
            }
        }
Пример #4
0
        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;
            }
        }
Пример #5
0
        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);
                }
            }
        }
Пример #6
0
 private void OnMapSendTransform(ParamsObject paramsObj)
 {
     eventManager.TriggerEvent(EnemyEvents.OnMapSendTransform, paramsObj);
     GlobalEventManager.StopListening(MapGlobalEvents.OnMapSendTransform, onMapSendTransformUnityAction);
 }
Пример #7
0
 private void OnPlayerSendRigidbody(ParamsObject paramsObj)
 {
     eventManager.TriggerEvent(EnemyEvents.OnPlayerSendRigidbody, paramsObj);
     GlobalEventManager.StopListening(PlayerGlobalEvents.OnPlayerSendRigidbody, onPlayerSendRigidbodyUnityAction);
 }
Пример #8
0
 private void OnUpdateMaxAmmo(ParamsObject paramsObj)
 {
     GlobalEventManager.TriggerEvent(PlayerGlobalEvents.OnPlayerUpdateMaxAmmo, paramsObj);
 }
Пример #9
0
 private void OnUpdateCurrentHealth(ParamsObject paramsObj)
 {
     GlobalEventManager.TriggerEvent(PlayerGlobalEvents.OnPlayerUpdateCurrentHealth, paramsObj);
 }