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