comparison LightClone/Source/ScreenManager.h @ 70:ffaeccdc105e

Work on screen manager
author koryspansel
date Tue, 11 Oct 2011 12:09:04 -0700
parents c4ece16cf995
children bc8afcf7e1ec
comparison
equal deleted inserted replaced
69:d1be174e5585 70:ffaeccdc105e
5 #ifndef __SCREENMANAGER_H__ 5 #ifndef __SCREENMANAGER_H__
6 #define __SCREENMANAGER_H__ 6 #define __SCREENMANAGER_H__
7 7
8 #include "Core.h" 8 #include "Core.h"
9 #include "Screen.h" 9 #include "Screen.h"
10 #include "HashMap.h"
11 #include "FixedString.h"
12 #include "FixedStack.h"
13 #include "RenderContext.h"
10 14
11 /* 15 /*
12 * ScreenManager 16 * ScreenManager
13 */ 17 */
14 class ScreenManager 18 class ScreenManager
15 { 19 {
20 /*
21 * ScreenMap
22 */
23 typedef HashMap<FixedString<>, Screen*, FixedString<>::Hash> ScreenMap;
24
25 /*
26 * ScreenStack
27 */
28 typedef FixedStack<Screen*, 32> ScreenStack;
29
30 /*
31 * kScreens
32 */
33 ScreenMap kScreens;
34
35 /*
36 * kStack
37 */
38 ScreenStack kStack;
39
16 public: 40 public:
17 41
18 /* 42 /*
19 * ScreenManager 43 * ScreenManager
20 */ 44 */
21 ScreenManager(); 45 ScreenManager();
22 46
23 /* 47 /*
48 * Register
49 */
50 ErrorCode Register(const char* pName, Screen* pInstance);
51
52 /*
24 * Initialize 53 * Initialize
25 */ 54 */
26 ErrorCode Initialize(); 55 ErrorCode Initialize(ServiceProvider* pServiceProvider);
27 56
28 /* 57 /*
29 * Terminate 58 * Terminate
30 */ 59 */
31 void Terminate(); 60 void Terminate();
36 void Update(float fElapsed); 65 void Update(float fElapsed);
37 66
38 /* 67 /*
39 * Render 68 * Render
40 */ 69 */
41 void Render(); 70 void Render(RenderContext& kContext);
42 }; 71 };
43 72
44 #endif //__SCREENMANAGER_H__ 73 #endif //__SCREENMANAGER_H__