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