Mercurial > LightClone
comparison 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 |
comparison
equal
deleted
inserted
replaced
70:ffaeccdc105e | 71:bc8afcf7e1ec |
---|---|
35 { | 35 { |
36 float fAccumulator = fUpdatePeriod; | 36 float fAccumulator = fUpdatePeriod; |
37 | 37 |
38 kClock.Reset(); | 38 kClock.Reset(); |
39 | 39 |
40 //TODO: While screen manager is active | 40 while(kScreenManager.IsActive()) |
41 while(true) | |
42 { | 41 { |
43 ProcessMessages(); | 42 ProcessMessages(); |
44 | 43 |
45 fAccumulator += Min(kClock.GetElapsed(), fUpdatePeriod); | 44 fAccumulator += Min(kClock.GetElapsed(), fUpdatePeriod); |
46 while(fAccumulator >= fUpdatePeriod) | 45 while(fAccumulator >= fUpdatePeriod) |
159 | 158 |
160 Terminate(); | 159 Terminate(); |
161 return eCode; | 160 return eCode; |
162 } | 161 } |
163 | 162 |
163 kScreenManager.Push("Game"); | |
164 | |
164 return eCode; | 165 return eCode; |
165 } | 166 } |
166 | 167 |
167 /* | 168 /* |
168 * Terminate | 169 * Terminate |
182 /* | 183 /* |
183 * Update | 184 * Update |
184 */ | 185 */ |
185 void Mediator::Update(float fElapsed) | 186 void Mediator::Update(float fElapsed) |
186 { | 187 { |
188 kScreenManager.Update(fElapsed); | |
187 } | 189 } |
188 | 190 |
189 /* | 191 /* |
190 * Render | 192 * Render |
191 */ | 193 */ |
207 | 209 |
208 while(PeekMessage(&kMessage, NULL, 0, 0, PM_REMOVE)) | 210 while(PeekMessage(&kMessage, NULL, 0, 0, PM_REMOVE)) |
209 { | 211 { |
210 if(kMessage.message == WM_QUIT) | 212 if(kMessage.message == WM_QUIT) |
211 { | 213 { |
212 //kWorld.Deactivate(); | 214 kScreenManager.Set(NULL); |
213 //TODO: kScreenManager.Deactivate(); | |
214 break; | 215 break; |
215 } | 216 } |
216 | 217 |
217 TranslateMessage(&kMessage); | 218 TranslateMessage(&kMessage); |
218 DispatchMessage(&kMessage); | 219 DispatchMessage(&kMessage); |