annotate LightClone/Source/Mediator.cpp @ 71:bc8afcf7e1ec

Refactor world into game screen
author koryspansel <koryspansel@bendbroadband.com>
date Tue, 11 Oct 2011 13:20:43 -0700
parents ffaeccdc105e
children 0574e2cf8bac
rev   line source
0
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
1 /*
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
2 * Mediator
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
3 */
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
4
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
5 #include "Mediator.h"
8
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
6 #include "VertexTypes.h"
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
7
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
8 #pragma warning(disable:4355)
0
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
9
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
10 /*
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
11 * fUpdatePeriod
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
12 */
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
13 static const float fUpdatePeriod = 1.0f / 60.0f;
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
14
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
15 /*
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
16 * Mediator
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
17 */
9
e494c4295dba Conversion to World architecture
koryspansel
parents: 8
diff changeset
18 Mediator::Mediator() : kWindow(this)
0
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
19 {
9
e494c4295dba Conversion to World architecture
koryspansel
parents: 8
diff changeset
20 pGraphicsDevice = NULL;
70
ffaeccdc105e Work on screen manager
koryspansel
parents: 64
diff changeset
21
ffaeccdc105e Work on screen manager
koryspansel
parents: 64
diff changeset
22 kScreenManager.Register("Main", &kMainScreen);
ffaeccdc105e Work on screen manager
koryspansel
parents: 64
diff changeset
23 kScreenManager.Register("Help", &kHelpScreen);
ffaeccdc105e Work on screen manager
koryspansel
parents: 64
diff changeset
24 kScreenManager.Register("Game", &kGameScreen);
ffaeccdc105e Work on screen manager
koryspansel
parents: 64
diff changeset
25 kScreenManager.Register("Pause", &kPauseScreen);
0
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
26 }
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
27
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
28 /*
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
29 * Run
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
30 */
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
31 ErrorCode Mediator::Run()
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
32 {
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
33 ErrorCode eCode = Initialize();
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
34 if(eCode == Error_Success)
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
35 {
57
dc1f4a668d50 Fix issues with VM refactor
koryspansel <koryspansel@bendbroadband.com>
parents: 49
diff changeset
36 float fAccumulator = fUpdatePeriod;
0
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
37
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
38 kClock.Reset();
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
39
71
bc8afcf7e1ec Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents: 70
diff changeset
40 while(kScreenManager.IsActive())
0
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
41 {
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
42 ProcessMessages();
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
43
7
31373c5bd1b9 Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents: 0
diff changeset
44 fAccumulator += Min(kClock.GetElapsed(), fUpdatePeriod);
0
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
45 while(fAccumulator >= fUpdatePeriod)
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
46 {
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
47 Update(fUpdatePeriod);
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
48 fAccumulator -= fUpdatePeriod;
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
49 }
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
50
7
31373c5bd1b9 Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents: 0
diff changeset
51 //if(updated)
31373c5bd1b9 Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents: 0
diff changeset
52 {
31373c5bd1b9 Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents: 0
diff changeset
53 Render();
31373c5bd1b9 Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents: 0
diff changeset
54 }
0
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
55 }
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
56
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
57 Terminate();
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
58 }
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
59
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
60 return eCode;
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
61 }
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
62
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
63 /*
8
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
64 * OnMessage
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
65 */
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
66 int32 Mediator::OnMessage(Window* pInstance, uint32 nMessage, WPARAM wParam, LPARAM lParam)
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
67 {
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
68 if(nMessage == WM_CLOSE)
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
69 {
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
70 pInstance->Terminate();
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
71 return 0;
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
72 }
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
73 else
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
74
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
75 if(nMessage == WM_DESTROY)
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
76 {
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
77 PostQuitMessage(0);
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
78 return 0;
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
79 }
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
80
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
81 return DefWindowProc(pInstance->GetHandle(), nMessage, wParam, lParam);
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
82 }
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
83
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
84 /*
0
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
85 * Initialize
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
86 */
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
87 ErrorCode Mediator::Initialize()
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
88 {
48
4663f93aefc4 Tracing
koryspansel
parents: 43
diff changeset
89 InitializeTrace(TraceFlag_Debug | TraceFlag_File);
4663f93aefc4 Tracing
koryspansel
parents: 43
diff changeset
90
8
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
91 ErrorCode eCode = kWindow.Initialize();
63
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
92 if(eCode != Error_Success)
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
93 {
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
94 TRACE("Error: Failed to initialize window\n");
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
95
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
96 Terminate();
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
97 return eCode;
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
98 }
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
99
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
100 eCode = GraphicsDevice::Create(kWindow.GetHandle(), ScreenSizeX, ScreenSizeY, &pGraphicsDevice);
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
101 if(eCode != Error_Success)
8
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
102 {
63
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
103 TRACE("Error: Failed to initialize graphics device\n");
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
104
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
105 Terminate();
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
106 return eCode;
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
107 }
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
108
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
109 eCode = kContext.Initialize(pGraphicsDevice);
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
110 if(eCode != Error_Success)
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
111 {
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
112 TRACE("Error: Failed to initialize render context\n");
8
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
113
63
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
114 Terminate();
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
115 return eCode;
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
116 }
49
48705dc6e568 Fix window issues; Start on GuiRenderContext
koryspansel
parents: 48
diff changeset
117
63
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
118 eCode = kResourceManager.Initialize(pGraphicsDevice);
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
119 if(eCode != Error_Success)
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
120 {
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
121 TRACE("Error: Failed to initialize resource manager\n");
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
122
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
123 Terminate();
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
124 return eCode;
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
125 }
8
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
126
63
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
127 eCode = kInputManager.Initialize(kWindow.GetHandle());
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
128 if(eCode != Error_Success)
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
129 {
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
130 TRACE("Error: Failed to initialize input manager\n");
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
131
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
132 Terminate();
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
133 return eCode;
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
134 }
49
48705dc6e568 Fix window issues; Start on GuiRenderContext
koryspansel
parents: 48
diff changeset
135
63
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
136 eCode = kServiceProvider.AddService("ResourceManager", &kResourceManager);
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
137 if(eCode != Error_Success)
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
138 {
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
139 TRACE("Error: Failed to add resource manager service\n");
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
140
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
141 Terminate();
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
142 return eCode;
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
143 }
8
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
144
63
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
145 eCode = kServiceProvider.AddService("InputManager", &kInputManager);
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
146 if(eCode != Error_Success)
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
147 {
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
148 TRACE("Error: Failed to add input manager service\n");
49
48705dc6e568 Fix window issues; Start on GuiRenderContext
koryspansel
parents: 48
diff changeset
149
63
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
150 Terminate();
44dcff5abf12 Work on ServiceProvider
koryspansel
parents: 57
diff changeset
151 return eCode;
70
ffaeccdc105e Work on screen manager
koryspansel
parents: 64
diff changeset
152 }
64
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 63
diff changeset
153
70
ffaeccdc105e Work on screen manager
koryspansel
parents: 64
diff changeset
154 eCode = kScreenManager.Initialize(&kServiceProvider);
64
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 63
diff changeset
155 if(eCode != Error_Success)
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 63
diff changeset
156 {
70
ffaeccdc105e Work on screen manager
koryspansel
parents: 64
diff changeset
157 TRACE("Error: Failed to initialize screen manager\n");
64
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 63
diff changeset
158
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 63
diff changeset
159 Terminate();
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 63
diff changeset
160 return eCode;
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 63
diff changeset
161 }
3507bd831c7f Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents: 63
diff changeset
162
71
bc8afcf7e1ec Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents: 70
diff changeset
163 kScreenManager.Push("Game");
bc8afcf7e1ec Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents: 70
diff changeset
164
0
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
165 return eCode;
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
166 }
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
167
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
168 /*
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
169 * Terminate
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
170 */
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
171 void Mediator::Terminate()
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
172 {
70
ffaeccdc105e Work on screen manager
koryspansel
parents: 64
diff changeset
173 kScreenManager.Terminate();
8
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
174 kInputManager.Terminate();
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
175 kResourceManager.Terminate();
9
e494c4295dba Conversion to World architecture
koryspansel
parents: 8
diff changeset
176 kContext.Terminate();
8
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
177
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
178 GraphicsDevice::Destroy(pGraphicsDevice);
48
4663f93aefc4 Tracing
koryspansel
parents: 43
diff changeset
179
4663f93aefc4 Tracing
koryspansel
parents: 43
diff changeset
180 TerminateTrace();
0
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
181 }
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
182
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
183 /*
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
184 * Update
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
185 */
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
186 void Mediator::Update(float fElapsed)
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
187 {
71
bc8afcf7e1ec Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents: 70
diff changeset
188 kScreenManager.Update(fElapsed);
0
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
189 }
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
190
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
191 /*
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
192 * Render
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
193 */
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
194 void Mediator::Render()
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
195 {
70
ffaeccdc105e Work on screen manager
koryspansel
parents: 64
diff changeset
196 const uint32 nColor = D3DCOLOR_XRGB(32, 32, 32);
ffaeccdc105e Work on screen manager
koryspansel
parents: 64
diff changeset
197
ffaeccdc105e Work on screen manager
koryspansel
parents: 64
diff changeset
198 kContext.Begin(nColor);
ffaeccdc105e Work on screen manager
koryspansel
parents: 64
diff changeset
199 kScreenManager.Render(kContext);
ffaeccdc105e Work on screen manager
koryspansel
parents: 64
diff changeset
200 kContext.End();
0
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
201 }
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
202
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
203 /*
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
204 * ProcessMessages
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
205 */
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
206 void Mediator::ProcessMessages()
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
207 {
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
208 MSG kMessage;
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
209
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
210 while(PeekMessage(&kMessage, NULL, 0, 0, PM_REMOVE))
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
211 {
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
212 if(kMessage.message == WM_QUIT)
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
213 {
71
bc8afcf7e1ec Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents: 70
diff changeset
214 kScreenManager.Set(NULL);
0
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
215 break;
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
216 }
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
217
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
218 TranslateMessage(&kMessage);
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
219 DispatchMessage(&kMessage);
7e3a0ae9c016 Initial commit
koryspansel <koryspansel@bendbroadband.com>
parents:
diff changeset
220 }
8
968341ab1fb2 First pass world re-structuring
koryspansel
parents: 7
diff changeset
221 }