- pub fn render(&mut self, renderer: &mut Renderer, _sprites: &SpriteManager) {
- // original grid
- renderer.canvas().set_draw_color((64, 64, 64));
- let size = &self.grid.scale;
- for x in 0..self.grid.size.width {
- for y in 0..self.grid.size.height {
- if self.grid.cells[x][y] {
- renderer.canvas().fill_rect(sdl2::rect::Rect::new(
- x as i32 * size.width as i32,
- y as i32 * size.height as i32,
- size.width as u32,
- size.height as u32)).unwrap();
+ pub fn render(&mut self, renderer: &mut Renderer, _sprites: &SpriteManager, debug_mode: bool) {
+ if debug_mode {
+ // original grid
+ renderer.canvas().set_draw_color((64, 64, 64));
+ let size = &self.grid.scale;
+ for x in 0..self.grid.size.width {
+ for y in 0..self.grid.size.height {
+ if self.grid.cells[x][y] {
+ renderer.canvas().fill_rect(sdl2::rect::Rect::new(
+ x as i32 * size.width as i32,
+ y as i32 * size.height as i32,
+ size.width as u32,
+ size.height as u32)).unwrap();
+ }
+ }
+ }
+
+ // wall grid
+ renderer.canvas().set_draw_color((0, 32, 0));
+ let size = &self.wall_grid.scale;
+ for x in 0..self.wall_grid.size.width {
+ for y in 0..self.wall_grid.size.height {
+ if !self.wall_grid.cells[x][y].is_empty() {
+ let num = self.wall_grid.cells[x][y].len();
+ renderer.canvas().set_draw_color((0, 32*num as u8, 0));
+ renderer.canvas().fill_rect(sdl2::rect::Rect::new(
+ x as i32 * size.width as i32,
+ y as i32 * size.height as i32,
+ size.width as u32,
+ size.height as u32)).unwrap();
+ }