diff options
| author | Ben Beltran <ben@nsovocal.com> | 2013-11-23 13:54:16 -0600 |
|---|---|---|
| committer | Ben Beltran <ben@nsovocal.com> | 2013-11-23 13:54:16 -0600 |
| commit | b587e9d8e0cc5eb1edf972fd3b644704441e5289 (patch) | |
| tree | 7ad7c006afa1d7101111d8b2418c8a96a824eafc /Super Polarity/ScreenManager.cs | |
| parent | 097781e6ad3f7bb1c13c16ff7b6bb7219764fb29 (diff) | |
Protoshow sprint.
Diffstat (limited to 'Super Polarity/ScreenManager.cs')
| -rw-r--r-- | Super Polarity/ScreenManager.cs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/Super Polarity/ScreenManager.cs b/Super Polarity/ScreenManager.cs index 04c10a4..b88741b 100644 --- a/Super Polarity/ScreenManager.cs +++ b/Super Polarity/ScreenManager.cs @@ -19,12 +19,22 @@ namespace SuperPolarity static public void Push(Screen screen) { + if (Screens.Count > 0) + { + Screens.Peek().Active = false; + } + + screen.LoadContent(); + screen.Active = true; Screens.Push(screen); } static public void Pop() { - Screens.Pop(); + var screen = Screens.Pop(); + screen.Active = false; + screen.CleanUp(); + Screens.Peek().Active = true; } static public void Update(GameTime gameTime) @@ -34,10 +44,7 @@ namespace SuperPolarity static public void Draw(SpriteBatch spriteBatch) { - foreach (Screen screen in Screens) - { - screen.Draw(spriteBatch); - } + Screens.Peek().Draw(spriteBatch); } internal static void SetGame(SuperPolarity game) |