Mercurial > LightClone
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; }