From 4fc09567c557a1110180940cca40fd7144921026 Mon Sep 17 00:00:00 2001 From: Ben Beltran Date: Mon, 3 Feb 2014 10:06:44 -0600 Subject: Removes spaces. --- SuperPolarityMac/ScreenManager.cs | 55 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 SuperPolarityMac/ScreenManager.cs (limited to 'SuperPolarityMac/ScreenManager.cs') diff --git a/SuperPolarityMac/ScreenManager.cs b/SuperPolarityMac/ScreenManager.cs new file mode 100644 index 0000000..b88741b --- /dev/null +++ b/SuperPolarityMac/ScreenManager.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +namespace SuperPolarity +{ + static class ScreenManager + { + static Stack Screens; + static SuperPolarity Game; + + static ScreenManager() + { + Screens = new Stack(); + } + + 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() + { + var screen = Screens.Pop(); + screen.Active = false; + screen.CleanUp(); + Screens.Peek().Active = true; + } + + static public void Update(GameTime gameTime) + { + Screens.Peek().Update(gameTime); + } + + static public void Draw(SpriteBatch spriteBatch) + { + Screens.Peek().Draw(spriteBatch); + } + + internal static void SetGame(SuperPolarity game) + { + Game = game; + } + } +} -- cgit