using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; namespace Theriapolis.Game.Screens; /// /// A single game screen (title, world map, tactical, etc.). /// Managed by ScreenManager as a push/pop stack. /// public interface IScreen { /// Called once when the screen is first pushed onto the stack. void Initialize(Game1 game); /// Called every frame while this screen is active (top of stack). void Update(GameTime gameTime); /// Called every frame to draw the screen. void Draw(GameTime gameTime, SpriteBatch spriteBatch); /// Called when a screen is popped or another is pushed on top. void Deactivate(); /// Called when this screen comes back to the top of the stack. void Reactivate(); }