Mercurial > LightClone
annotate LightClone/Source/Environment.h @ 75:57c0ce406a68 tip
Add main menu
author | koryspansel <koryspansel@bendbroadband.com> |
---|---|
date | Tue, 18 Oct 2011 17:08:17 -0700 |
parents | 3507bd831c7f |
children |
rev | line source |
---|---|
0 | 1 /* |
2 * Environment | |
3 */ | |
4 | |
5 #ifndef __ENVIRONMENT_H__ | |
6 #define __ENVIRONMENT_H__ | |
7 | |
8 #include "Core.h" | |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
9 #include "RenderContext.h" |
64
3507bd831c7f
Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents:
60
diff
changeset
|
10 #include "ServiceProvider.h" |
0 | 11 |
12 /* | |
41 | 13 * Tower |
14 */ | |
15 struct Tower | |
16 { | |
17 /* | |
18 * Type | |
19 */ | |
20 uint32 Type; | |
21 | |
22 /* | |
23 * Height | |
24 */ | |
25 uint32 Height; | |
26 | |
27 /* | |
28 * State | |
29 */ | |
30 uint32 State; | |
31 | |
32 /* | |
33 * User | |
34 */ | |
35 uint32 User; | |
36 | |
37 public: | |
38 | |
39 /* | |
40 * Tower | |
41 */ | |
42 Tower() : Type(0), Height(1), State(0), User(0) | |
43 { | |
44 } | |
45 }; | |
46 | |
47 /* | |
0 | 48 * Environment |
49 */ | |
50 class Environment | |
51 { | |
52 /* | |
27 | 53 * pEffect |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
54 */ |
27 | 55 ID3DXEffect* pEffect; |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
56 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
57 /* |
27 | 58 * pVertexBuffer |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
59 */ |
27 | 60 IDirect3DVertexBuffer9* pVertexBuffer; |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
61 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
62 /* |
27 | 63 * pTexture |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
64 */ |
27 | 65 IDirect3DTexture9* pTexture; |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
66 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
67 /* |
0 | 68 * nWidth |
69 */ | |
70 uint32 nWidth; | |
71 | |
72 /* | |
73 * nHeight | |
74 */ | |
75 uint32 nHeight; | |
76 | |
77 /* | |
78 * kScale | |
79 */ | |
80 D3DXVECTOR3 kScale; | |
81 | |
82 /* | |
83 * pGrid | |
84 */ | |
85 Tower* pGrid; | |
86 | |
87 public: | |
88 | |
89 /* | |
90 * Environment | |
91 */ | |
92 Environment(); | |
93 | |
94 /* | |
95 * ~Environment | |
96 */ | |
97 ~Environment(); | |
98 | |
99 /* | |
100 * Initialize | |
101 */ | |
64
3507bd831c7f
Hook up ServiceProvider
koryspansel <koryspansel@bendbroadband.com>
parents:
60
diff
changeset
|
102 ErrorCode Initialize(ServiceProvider* pServiceProvider); |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
103 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
104 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
105 * Terminate |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
106 */ |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
107 void Terminate(); |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
108 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
109 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
110 * Setup |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
111 */ |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
112 ErrorCode Setup(uint32 nGridWidth, uint32 nGridHeight); |
0 | 113 |
114 /* | |
115 * Reset | |
116 */ | |
117 void Reset(); | |
118 | |
119 /* | |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
120 * Update |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
121 */ |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
122 void Update(float fElapsed); |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
123 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
124 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
125 * Render |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
126 */ |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
127 void Render(RenderContext& kContext, Camera& kCamera); |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
128 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
129 /* |
0 | 130 * GetWidth |
131 */ | |
132 uint32 GetWidth() const; | |
133 | |
134 /* | |
135 * GetHeight | |
136 */ | |
137 uint32 GetHeight() const; | |
138 | |
139 /* | |
140 * GetScale | |
141 */ | |
142 const D3DXVECTOR3& GetScale() const; | |
143 | |
144 /* | |
145 * SetType | |
146 */ | |
147 void SetType(uint32 nX, uint32 nY, uint32 nType); | |
148 | |
149 /* | |
150 * GetType | |
151 */ | |
152 uint32 GetType(uint32 nX, uint32 nY) const; | |
153 | |
154 /* | |
155 * SetAltitude | |
156 */ | |
157 void SetAltitude(uint32 nX, uint32 nY, uint32 nHeight); | |
158 | |
159 /* | |
160 * GetAltitude | |
161 */ | |
162 uint32 GetAltitude(uint32 nX, uint32 nY) const; | |
163 | |
164 /* | |
165 * GetState | |
166 */ | |
167 uint32 GetState(uint32 nX, uint32 nY) const; | |
168 | |
169 /* | |
170 * IsMovementValid | |
171 */ | |
60 | 172 bool IsMovementValid(uint32 nAction, int32 nX, int32 nY, uint32 nDirection); |
0 | 173 |
174 /* | |
175 * RequirementsMet | |
176 * Used to determine if the requirements for completing a | |
177 * given map have been satisfied. | |
178 */ | |
179 bool RequirementsMet() const; | |
180 | |
181 /* | |
182 * NotifyAction | |
183 * Used by objects to notify the environment of changes | |
184 */ | |
185 void NotifyAction(uint32 nX, uint32 nY); | |
10
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
186 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
187 private: |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
188 |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
189 /* |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
190 * SetupVertexBuffer |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
191 */ |
292e534f00c2
Moved rendering into Bot/Environment; Started work on Gui system
koryspansel <koryspansel@bendbroadband.com>
parents:
0
diff
changeset
|
192 ErrorCode SetupVertexBuffer(); |
0 | 193 }; |
194 | |
195 #endif //__ENVIRONMENT_H__ |