@@ -178,21 +178,13 @@ namespace {
178178 struct State {
179179 gf::Vec2I light = { 0 , 0 };
180180 int radius = 6 ;
181- gf::Visibility visibility = gf::Visibility::ShadowCast;
182181 };
183182
184183 class GridScene : public gf ::Scene {
185184 public:
186185 GridScene (gf::BasicSceneManager* scene_manager)
187- : m_scene_manager(scene_manager)
188- , m_grid_entity(scene_manager)
186+ : m_grid_entity(scene_manager)
189187 {
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-
196188 m_actions.add_action (" clear" _id, gf::ActionSettings ().add_keycode_control (gf::Keycode::C));
197189
198190 set_world_size (MapSize * CellSize);
@@ -215,7 +207,7 @@ namespace {
215207 if (position != m_state.light ) {
216208 m_state.light = position;
217209 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 );
219211 }
220212 }
221213 break ;
@@ -228,47 +220,13 @@ namespace {
228220
229221 void do_handle_actions () override
230222 {
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-
264223 if (m_actions.active (" clear" _id)) {
265224 m_grid_entity.map ().clear_explored ();
266225 }
267226
268227 m_actions.reset ();
269228 }
270229
271- gf::BasicSceneManager* m_scene_manager = nullptr ;
272230 GridEntity m_grid_entity;
273231 gf::ActionGroup m_actions;
274232 State m_state;
0 commit comments