diff options
| author | Ben Beltran <ben@nsovocal.com> | 2013-11-18 21:51:56 -0600 |
|---|---|---|
| committer | Ben Beltran <ben@nsovocal.com> | 2013-11-18 21:51:56 -0600 |
| commit | 74c155708d85abfc2cf227c08de4f27003015b3f (patch) | |
| tree | 2e7f6fdad12ae6509832b0e5ee497af7ed72e5e2 /Super Polarity/ScreenManager.cs | |
| parent | 38c7d3f9eb7d63937c6654ff5dd6046ce02dd59c (diff) | |
I have the worst commits ever.
Diffstat (limited to 'Super Polarity/ScreenManager.cs')
| -rw-r--r-- | Super Polarity/ScreenManager.cs | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Super Polarity/ScreenManager.cs b/Super Polarity/ScreenManager.cs new file mode 100644 index 0000000..04c10a4 --- /dev/null +++ b/Super Polarity/ScreenManager.cs @@ -0,0 +1,48 @@ +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<Screen> Screens; + static SuperPolarity Game; + + static ScreenManager() + { + Screens = new Stack<Screen>(); + } + + static public void Push(Screen screen) + { + Screens.Push(screen); + } + + static public void Pop() + { + Screens.Pop(); + } + + static public void Update(GameTime gameTime) + { + Screens.Peek().Update(gameTime); + } + + static public void Draw(SpriteBatch spriteBatch) + { + foreach (Screen screen in Screens) + { + screen.Draw(spriteBatch); + } + } + + internal static void SetGame(SuperPolarity game) + { + Game = game; + } + } +} |