using Encompass; using isometricparkfna.Messages; using isometricparkfna.Components; namespace isometricparkfna.Engines { [Receives(typeof(GameStateMessage))] [Sends(typeof(ToggleWindowTypeMessage))] [Reads(typeof(GameStateComponent))] [Writes(typeof(GameStateComponent))] class GameStateEngine : Engine { public override void Update(double dt) { foreach (var message in ReadMessages()) { if (message.isPlaying) { startGame(); } SendMessage(new ToggleWindowTypeMessage { Window = Window.MainMenu}); foreach (var entity in ReadEntities()) { var state = GetComponent(entity).isPlaying; Logging.Spy(state, "state"); SetComponent(entity, new GameStateComponent{isPlaying = message.isPlaying}); } } } public void startGame() { } } }