public GameLogic(IEventProcessor eventProsessor, ref Action OnTick, CoreMessager coreMessager, Aggregates aggregates) { this.eventProsessor = eventProsessor; this.coreMessager = coreMessager; this.aggregates = aggregates; coreMessager.AddMessageCallback(HandleMessageReceived); OnTick += Tick; }
public void InitGameRoot(GameObject ui, out Action initDone, Dictionary <KeyPositionType, KeyPosition> keyPositions) { this.keyPositions = keyPositions; CameraManager = new CameraManager(); EventQueue = new Queue <Action>(); CoreMessager coreMessager = new CoreMessager(); gameDatabase = new GameDatabase(ref OnUpdate, ui, coreMessager, keyPositions); initDone = InitializationDone; gameLogic = new GameLogic(this, ref Tick, coreMessager, gameDatabase.Aggregates); }