Exemple #1
0
    internal void Dispatch()
    {
        if (!this.IsAlive)
        {
            Destroy();
            return;
        }

        int index = 0;

        while (index < _listenerList.Count)
        {
            ListenerObject listener = _listenerList[index];

            if (listener.IsAlive)
            {
                listener.Callback(this);
                index++;
            }
            else
            {
                UnregisterEventListenerObject(listener);
            }
        }

        if (_listenerList.Count <= 0)
        {
            Destroy();
        }
    }