From ced3d03bdb3ce866d832e03fb212865140905a9a Mon Sep 17 00:00:00 2001 From: Thomas Leyh Date: Sun, 24 Jul 2016 08:14:18 +0200 Subject: Add project files. --- V3/Screens/IScreenManager.cs | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 V3/Screens/IScreenManager.cs (limited to 'V3/Screens/IScreenManager.cs') diff --git a/V3/Screens/IScreenManager.cs b/V3/Screens/IScreenManager.cs new file mode 100644 index 0000000..e61c49c --- /dev/null +++ b/V3/Screens/IScreenManager.cs @@ -0,0 +1,35 @@ +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(); + } +} -- cgit v1.2.1