private void Dispatch(GameEvent newEvent) { State = State.Dispatch(newEvent); _events.Insert(newEvent); OnGameEvent?.Invoke(this, newEvent); AfterInsert(newEvent); }
/// <summary> /// Вызвать обработчик события у всех слушателей /// </summary> public void Invoke() { //Вызываем начиная с самого последнего подписавшегося for (int i = _listeners.Count - 1; i >= 0; i--) { _listeners[i].OnEventInvoked(); } OnGameEvent?.Invoke(); }