Mercurial > LightClone
annotate LightClone/Source/World.h @ 39:d0ce73ced12e
Added base GuiDialog for event handling; Hookup level complete dialog
author | koryspansel <koryspansel@bendbroadband.com> |
---|---|
date | Thu, 22 Sep 2011 09:01:42 -0700 |
parents | 2caa7c7e2cb5 |
children | 00d17d8f407d |
rev | line source |
---|---|
7
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
1 /* |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
2 * World |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
3 */ |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
4 |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
5 #ifndef __WORLD_H__ |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
6 #define __WORLD_H__ |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
7 |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
8 #include "Core.h" |
14 | 9 #include "ResourceManager.h" |
10 #include "EventSystem.h" | |
9 | 11 #include "RenderContext.h" |
12 #include "Environment.h" | |
13 #include "Bot.h" | |
14 #include "Code.h" | |
15 #include "Loader.h" | |
16 #include "CameraController.h" | |
17 #include "InputManager.h" | |
17
4951acfe92fc
Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents:
14
diff
changeset
|
18 #include "GuiInterface.h" |
23 | 19 #include "GuiImage.h" |
20 #include "GuiButton.h" | |
32
c227be6a15fe
Fixed drag and drop handling; Just needs to be hooked up now
koryspansel
parents:
28
diff
changeset
|
21 #include "CodePanel.h" |
37
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
36
diff
changeset
|
22 #include "Program.h" |
38 | 23 #include "Dialog.h" |
7
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
24 |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
25 /* |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
26 * World |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
27 */ |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
28 class World |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
29 { |
8 | 30 /* |
14 | 31 * pEventSystem |
32 */ | |
33 EventSystem* pEventSystem; | |
34 | |
35 /* | |
9 | 36 * pInputManager |
37 */ | |
38 InputManager* pInputManager; | |
39 | |
40 /* | |
41 * kLoader | |
42 */ | |
43 Loader kLoader; | |
44 | |
45 /* | |
8 | 46 * kEnvironment |
47 */ | |
9 | 48 Environment kEnvironment; |
8 | 49 |
50 /* | |
51 * kBot | |
9 | 52 */ |
53 Bot kBot; | |
54 | |
55 /* | |
37
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
36
diff
changeset
|
56 * kProgram |
9 | 57 */ |
37
58a16d529d95
Refactoring code and adding events for drag and drop
koryspansel <koryspansel@bendbroadband.com>
parents:
36
diff
changeset
|
58 Program kProgram; |
9 | 59 |
60 /* | |
61 * nGameState | |
62 */ | |
63 uint32 nGameState; | |
64 | |
65 /* | |
66 * nSimulationState | |
67 */ | |
68 uint32 nSimulationState; | |
69 | |
70 /* | |
71 * nCurrentLevel | |
8 | 72 */ |
9 | 73 uint32 nCurrentLevel; |
74 | |
75 /* | |
76 * kCameraController | |
77 */ | |
78 CameraController kCameraController; | |
79 | |
80 /* | |
17
4951acfe92fc
Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents:
14
diff
changeset
|
81 * kInterface |
4951acfe92fc
Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents:
14
diff
changeset
|
82 */ |
4951acfe92fc
Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents:
14
diff
changeset
|
83 GuiInterface kInterface; |
4951acfe92fc
Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents:
14
diff
changeset
|
84 |
4951acfe92fc
Reworking GUI system
koryspansel <koryspansel@bendbroadband.com>
parents:
14
diff
changeset
|
85 /* |
28 | 86 * pBackground |
9 | 87 */ |
28 | 88 GuiImage* pBackground; |
89 | |
90 /* | |
91 * pButtonPlay | |
92 */ | |
93 GuiButton* pButtonPlay; | |
8 | 94 |
95 /* | |
28 | 96 * pButtonStop |
9 | 97 */ |
28 | 98 GuiButton* pButtonStop; |
9 | 99 |
100 /* | |
28 | 101 * pButtonReset |
102 */ | |
103 GuiButton* pButtonReset; | |
104 | |
105 /* | |
106 * pButtonExit | |
9 | 107 */ |
28 | 108 GuiButton* pButtonExit; |
109 | |
110 /* | |
111 * pToolbar | |
112 */ | |
32
c227be6a15fe
Fixed drag and drop handling; Just needs to be hooked up now
koryspansel
parents:
28
diff
changeset
|
113 CodePanel* pToolbar; |
8 | 114 |
23 | 115 /* |
33
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
116 * pMain |
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
117 */ |
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
118 CodePanel* pMain; |
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
119 |
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
120 /* |
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
121 * pFunctionA |
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
122 */ |
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
123 CodePanel* pFunctionA; |
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
124 |
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
125 /* |
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
126 * pFunctionB |
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
127 */ |
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
128 CodePanel* pFunctionB; |
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
129 |
06b151afc8d0
Cleaned up UI art; Completed drag and drop; Centered grid
koryspansel <koryspansel@bendbroadband.com>
parents:
32
diff
changeset
|
130 /* |
23 | 131 * pLevelDialog |
132 */ | |
38 | 133 //GuiImage* pLevelDialog; |
23 | 134 |
135 /* | |
136 * pLevelDialogOk | |
137 */ | |
38 | 138 //GuiButton* pLevelDialogOk; |
23 | 139 |
140 /* | |
141 * pGameDialog | |
142 */ | |
38 | 143 //GuiImage* pGameDialog; |
23 | 144 |
145 /* | |
146 * pGameDialogOk | |
147 */ | |
38 | 148 //GuiButton* pGameDialogOk; |
149 | |
150 /* | |
151 * kLevelDialog | |
152 */ | |
153 Dialog<1> kLevelDialog; | |
23 | 154 |
7
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
155 public: |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
156 |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
157 /* |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
158 * World |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
159 */ |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
160 World(); |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
161 |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
162 /* |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
163 * Initialize |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
164 */ |
14 | 165 ErrorCode Initialize(EventSystem* pSystem, ResourceManager* pResource, InputManager* pInput); |
7
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
166 |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
167 /* |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
168 * Terminate |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
169 */ |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
170 void Terminate(); |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
171 |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
172 /* |
9 | 173 * Activate |
174 */ | |
175 void Activate(); | |
176 | |
177 /* | |
178 * Deactivate | |
179 */ | |
180 void Deactivate(); | |
181 | |
182 /* | |
183 * IsActive | |
184 */ | |
185 bool IsActive(); | |
186 | |
187 /* | |
188 * Load | |
189 */ | |
39
d0ce73ced12e
Added base GuiDialog for event handling; Hookup level complete dialog
koryspansel <koryspansel@bendbroadband.com>
parents:
38
diff
changeset
|
190 ErrorCode Load(const char* pName); |
9 | 191 |
192 /* | |
7
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
193 * Update |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
194 */ |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
195 void Update(float fElapsed); |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
196 |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
197 /* |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
198 * Render |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
199 */ |
9 | 200 void Render(RenderContext& kContext); |
201 | |
202 private: | |
203 | |
204 /* | |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
9
diff
changeset
|
205 * InitializeInterface |
9 | 206 */ |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
9
diff
changeset
|
207 ErrorCode InitializeInterface(ResourceManager* pResourceManager); |
9 | 208 |
209 /* | |
210 * Render3D | |
211 */ | |
212 void Render3D(RenderContext& kContext); | |
213 | |
214 /* | |
215 * Render2D | |
216 */ | |
217 void Render2D(RenderContext& kContext); | |
218 | |
219 /* | |
220 * RenderEnvironment | |
221 */ | |
222 void RenderEnvironment(RenderContext& kContext, Environment* pEnvironment); | |
223 | |
224 /* | |
225 * RenderBot | |
226 */ | |
227 void RenderBot(RenderContext& kContext, Environment* pEnvironment, Bot* pBot); | |
228 | |
229 /* | |
230 * ProcessInput | |
231 */ | |
232 void ProcessInput(float fElapsed); | |
21
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
17
diff
changeset
|
233 |
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
17
diff
changeset
|
234 /* |
38 | 235 * OnAction |
236 */ | |
237 void OnAction(GuiEventArguments& kArguments); | |
238 | |
239 /* | |
22
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
240 * OnPlay |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
241 */ |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
242 void OnPlay(GuiEventArguments& kArguments); |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
243 |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
244 /* |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
245 * OnStop |
21
b4dc5d674e22
Added GUI event system and some support data structures
koryspansel
parents:
17
diff
changeset
|
246 */ |
22
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
247 void OnStop(GuiEventArguments& kArguments); |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
248 |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
249 /* |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
250 * OnReset |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
251 */ |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
252 void OnReset(GuiEventArguments& kArguments); |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
253 |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
254 /* |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
255 * OnExit |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
256 */ |
502ed0a0059a
Hooking up Gui elements
koryspansel <koryspansel@bendbroadband.com>
parents:
21
diff
changeset
|
257 void OnExit(GuiEventArguments& kArguments); |
39
d0ce73ced12e
Added base GuiDialog for event handling; Hookup level complete dialog
koryspansel <koryspansel@bendbroadband.com>
parents:
38
diff
changeset
|
258 |
d0ce73ced12e
Added base GuiDialog for event handling; Hookup level complete dialog
koryspansel <koryspansel@bendbroadband.com>
parents:
38
diff
changeset
|
259 /* |
d0ce73ced12e
Added base GuiDialog for event handling; Hookup level complete dialog
koryspansel <koryspansel@bendbroadband.com>
parents:
38
diff
changeset
|
260 * OnResult |
d0ce73ced12e
Added base GuiDialog for event handling; Hookup level complete dialog
koryspansel <koryspansel@bendbroadband.com>
parents:
38
diff
changeset
|
261 */ |
d0ce73ced12e
Added base GuiDialog for event handling; Hookup level complete dialog
koryspansel <koryspansel@bendbroadband.com>
parents:
38
diff
changeset
|
262 void OnResult(GuiEventArguments& kArguments); |
7
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
263 }; |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
264 |
31373c5bd1b9
Start on World refactor
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
265 #endif //__WORLD_H__ |