@@ -178,21 +178,13 @@ namespace {
178
178
struct State {
179
179
gf::Vec2I light = { 0 , 0 };
180
180
int radius = 6 ;
181
- gf::Visibility visibility = gf::Visibility::ShadowCast;
182
181
};
183
182
184
183
class GridScene : public gf ::Scene {
185
184
public:
186
185
GridScene (gf::BasicSceneManager* scene_manager)
187
- : m_scene_manager(scene_manager)
188
- , m_grid_entity(scene_manager)
186
+ : m_grid_entity(scene_manager)
189
187
{
190
- m_actions.add_action (" RayCast" _id, gf::ActionSettings ().add_keycode_control (gf::Keycode::Num1));
191
- m_actions.add_action (" ShadowCast" _id, gf::ActionSettings ().add_keycode_control (gf::Keycode::Num2));
192
- m_actions.add_action (" DiamondWalls" _id, gf::ActionSettings ().add_keycode_control (gf::Keycode::Num3));
193
- m_actions.add_action (" Permissive" _id, gf::ActionSettings ().add_keycode_control (gf::Keycode::Num4));
194
- m_actions.add_action (" Improved" _id, gf::ActionSettings ().add_keycode_control (gf::Keycode::Num5));
195
-
196
188
m_actions.add_action (" clear" _id, gf::ActionSettings ().add_keycode_control (gf::Keycode::C));
197
189
198
190
set_world_size (MapSize * CellSize);
@@ -215,7 +207,7 @@ namespace {
215
207
if (position != m_state.light ) {
216
208
m_state.light = position;
217
209
m_grid_entity.map ().clear_visible ();
218
- m_grid_entity.map ().compute_field_of_vision (m_state.light , m_state.radius , m_state. visibility );
210
+ m_grid_entity.map ().compute_field_of_vision (m_state.light , m_state.radius );
219
211
}
220
212
}
221
213
break ;
@@ -228,47 +220,13 @@ namespace {
228
220
229
221
void do_handle_actions () override
230
222
{
231
- gf::Visibility visibility = m_state.visibility ;
232
-
233
- if (m_actions.active (" RayCast" _id)) {
234
- gf::Log::info (" Visibility: RayCast" );
235
- visibility = gf::Visibility::RayCast;
236
- }
237
-
238
- if (m_actions.active (" ShadowCast" _id)) {
239
- gf::Log::info (" Visibility: ShadowCast" );
240
- visibility = gf::Visibility::ShadowCast;
241
- }
242
-
243
- if (m_actions.active (" DiamondWalls" _id)) {
244
- gf::Log::info (" Visibility: DiamondWalls" );
245
- visibility = gf::Visibility::DiamondWalls;
246
- }
247
-
248
- if (m_actions.active (" Permissive" _id)) {
249
- gf::Log::info (" Visibility: Permissive" );
250
- visibility = gf::Visibility::Permissive;
251
- }
252
-
253
- if (m_actions.active (" Improved" _id)) {
254
- gf::Log::info (" Visibility: Improved" );
255
- visibility = gf::Visibility::Improved;
256
- }
257
-
258
- if (visibility != m_state.visibility ) {
259
- m_state.visibility = visibility;
260
- m_grid_entity.map ().clear_visible ();
261
- m_grid_entity.map ().compute_field_of_vision (m_state.light , m_state.radius , m_state.visibility );
262
- }
263
-
264
223
if (m_actions.active (" clear" _id)) {
265
224
m_grid_entity.map ().clear_explored ();
266
225
}
267
226
268
227
m_actions.reset ();
269
228
}
270
229
271
- gf::BasicSceneManager* m_scene_manager = nullptr ;
272
230
GridEntity m_grid_entity;
273
231
gf::ActionGroup m_actions;
274
232
State m_state;
0 commit comments