Mercurial > LightClone
diff LightClone/Source/Screen.h @ 71:bc8afcf7e1ec
Refactor world into game screen
author | koryspansel <koryspansel@bendbroadband.com> |
---|---|
date | Tue, 11 Oct 2011 13:20:43 -0700 |
parents | ffaeccdc105e |
children |
line wrap: on
line diff
--- a/LightClone/Source/Screen.h Tue Oct 11 12:09:04 2011 -0700 +++ b/LightClone/Source/Screen.h Tue Oct 11 13:20:43 2011 -0700 @@ -10,16 +10,18 @@ #include "RenderContext.h" /* - * ScreenManager - */ -class ScreenManager; - -/* * Screen */ class Screen { /* + * ScreenManager + */ + friend class ScreenManager; + +protected: + + /* * pScreenManager */ ScreenManager* pScreenManager; @@ -51,15 +53,31 @@ */ virtual void Render(RenderContext& kContext); +protected: + /* - * SetScreenManager + * OnEnter + * Called when this screen is pushed onto the display stack */ - void SetScreenManager(ScreenManager* pManager); + virtual void OnEnter(); /* - * GetScreenManager + * OnExit + * Called when this screen is popped from the display stack */ - ScreenManager* GetScreenManager(); + virtual void OnExit(); + + /* + * OnPause + * Called when another screen is pushed on top of this screen + */ + virtual void OnPause(); + + /* + * OnResume + * Called when this screen returns to the top of the stack + */ + virtual void OnResume(); }; #endif //__SCREEN_H__