Ejemplo n.º 1
0
        private static void ProccessingEvent(ProEvent proEvent)
        {
            if (proEvents == null || !proEvents.ContainsKey(proEvent))
                return;

            proEvents[proEvent].ForEach(x => x.Invoke());
        }
Ejemplo n.º 2
0
        public static void BroadcastEvent(ProEvent proEvent, ProEventSystemArgs e)
        {
            if (pendingEvents == null)
                pendingEvents = new Queue<ProEvent>();

            pendingEvents.Enqueue(proEvent);
        }
Ejemplo n.º 3
0
        public static void RemoveListener(ProEvent proEvent, Action<ProEventSystemArgs> action)
        {
            if (proEvents == null || !proEvents.ContainsKey(proEvent))
                return;

            proEvents[proEvent].Remove(action);

            if (proEvents[proEvent].Count == 0)
                proEvents.Remove(proEvent);
        }
Ejemplo n.º 4
0
        public static void AddListener(ProEvent proEvent, Action<ProEventSystemArgs> action)
        {
            if (proEvents == null)
                proEvents = new Dictionary<ProEvent, List<Action<ProEventSystemArgs>>>();

            if (!proEvents.ContainsKey(proEvent))
                proEvents.Add(proEvent, new List<Action<ProEventSystemArgs>>());

            proEvents[proEvent].Add(action);
        }