diff --git a/isometric-park-fna/Engines/GameBridgeEngine.cs b/isometric-park-fna/Engines/GameBridgeEngine.cs --- a/isometric-park-fna/Engines/GameBridgeEngine.cs +++ b/isometric-park-fna/Engines/GameBridgeEngine.cs @@ -7,7 +7,7 @@ namespace isometricparkfna.Engines { - [Receives(typeof(ToggleWindowMessage))] + [Receives(typeof(ToggleWindowMessage), typeof(ToggleVisibilityMessage))] class GameBridgeEngine : Engine { @@ -37,11 +37,19 @@ break; } - - } - - + foreach (ref readonly var visibilityMessage in ReadMessages()) + { + + switch (visibilityMessage.Element) { + case Element.Grid: + game.showGrid = !game.showGrid; + break; + case Element.Trees: + game.showTrees = !game.showTrees; + break; + } + } } } diff --git a/isometric-park-fna/Engines/InputEngine.cs b/isometric-park-fna/Engines/InputEngine.cs --- a/isometric-park-fna/Engines/InputEngine.cs +++ b/isometric-park-fna/Engines/InputEngine.cs @@ -9,7 +9,7 @@ - [Sends(typeof(ToggleWindowMessage))] + [Sends(typeof(ToggleWindowMessage), typeof(ToggleVisibilityMessage))] public class InputEngine : Engine { private KeyboardState keyboardPrev; @@ -44,8 +44,17 @@ SendMessage(new ToggleWindowMessage{Window = Window.News}); } + if (keyboardCur.IsKeyDown(Keys.G) && keyboardPrev.IsKeyUp(Keys.G)) + { + SendMessage(new ToggleVisibilityMessage{Element = Element.Grid}); + } +#if DEBUG + if (keyboardCur.IsKeyDown(Keys.T) && keyboardPrev.IsKeyUp(Keys.T)) + { + SendMessage(new ToggleVisibilityMessage{Element = Element.Trees}); + } #endif #endregion misc_keys diff --git a/isometric-park-fna/FNAGame.cs b/isometric-park-fna/FNAGame.cs --- a/isometric-park-fna/FNAGame.cs +++ b/isometric-park-fna/FNAGame.cs @@ -368,18 +368,6 @@ System.Console.WriteLine("Quitting"); Environment.Exit(0); } - if (keyboardCur.IsKeyDown(Keys.G) && keyboardPrev.IsKeyUp(Keys.G)) - { - this.showGrid = !this.showGrid; - - } -#if DEBUG - if (keyboardCur.IsKeyDown(Keys.T) && keyboardPrev.IsKeyUp(Keys.T)) - { - this.showTrees = !this.showTrees; - - } -#endif if (keyboardCur.IsKeyDown(Keys.C) && keyboardPrev.IsKeyUp(Keys.C)) { this.camera.Jump(Vector2.Zero);