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__