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; } } }