diff LightClone/Source/Mediator.cpp @ 70:ffaeccdc105e

Work on screen manager
author koryspansel
date Tue, 11 Oct 2011 12:09:04 -0700
parents 3507bd831c7f
children bc8afcf7e1ec
line wrap: on
line diff
--- a/LightClone/Source/Mediator.cpp	Mon Oct 10 09:49:54 2011 -0700
+++ b/LightClone/Source/Mediator.cpp	Tue Oct 11 12:09:04 2011 -0700
@@ -18,6 +18,11 @@
 Mediator::Mediator() : kWindow(this)
 {
 	pGraphicsDevice	= NULL;
+
+	kScreenManager.Register("Main", &kMainScreen);
+	kScreenManager.Register("Help", &kHelpScreen);
+	kScreenManager.Register("Game", &kGameScreen);
+	kScreenManager.Register("Pause", &kPauseScreen);
 }
 
 /*
@@ -32,7 +37,8 @@
 
 		kClock.Reset();
 
-		while(kWorld.IsActive())
+		//TODO: While screen manager is active
+		while(true)
 		{
 			ProcessMessages();
 
@@ -144,12 +150,12 @@
 
 		Terminate();
 		return eCode;
-	}	
+	}
 
-	eCode = kWorld.Initialize(&kServiceProvider);
+	eCode = kScreenManager.Initialize(&kServiceProvider);
 	if(eCode != Error_Success)
 	{
-		TRACE("Error: Failed to initialize world\n");
+		TRACE("Error: Failed to initialize screen manager\n");
 
 		Terminate();
 		return eCode;
@@ -163,7 +169,7 @@
  */
 void Mediator::Terminate()
 {
-	kWorld.Terminate();
+	kScreenManager.Terminate();
 	kInputManager.Terminate();
 	kResourceManager.Terminate();
 	kContext.Terminate();
@@ -178,7 +184,6 @@
  */
 void Mediator::Update(float fElapsed)
 {
-	kWorld.Update(fElapsed);
 }
 
 /*
@@ -186,7 +191,11 @@
  */
 void Mediator::Render()
 {
-	kWorld.Render(kContext);
+	const uint32 nColor = D3DCOLOR_XRGB(32, 32, 32);
+
+	kContext.Begin(nColor);
+	kScreenManager.Render(kContext);
+	kContext.End();
 }
 
 /*
@@ -200,7 +209,8 @@
 	{
 		if(kMessage.message == WM_QUIT)
 		{
-			kWorld.Deactivate();
+			//kWorld.Deactivate();
+			//TODO: kScreenManager.Deactivate();
 			break;
 		}