namespace V3.Screens { /// /// Handles screens using a screen stack. You can add screens to the /// foreground using the AddScreen method, remove screens from the /// foreground using the RemoveScreen method and remove all screens using /// the Clear method. The top screen is always drawn and updated, and /// it can decide whether lower screens should be drawn and/or updated /// too. The screens are updated from top to bottom, and drawn from /// bottom to top. /// public interface IScreenManager : IDrawable, IUpdateable { /// /// Adds a screen to the foreground. /// /// the screen to add in the foreground void AddScreen(IScreen screen); /// /// Removes the given screen if it is on the top of the screen stack. /// /// the screen to remove /// true if the screen was on top and has been removed, /// false otherwise void RemoveScreen(IScreen screen); /// /// Clears the screen stack. /// void Clear(); GameScreen GetGameScreen(); } }