|
@@ -12,6 +12,7 @@ mod player;
|
|
use player::*;
|
|
use player::*;
|
|
mod rect;
|
|
mod rect;
|
|
pub use rect::Rect;
|
|
pub use rect::Rect;
|
|
|
|
+mod draw_system;
|
|
mod visibility_system;
|
|
mod visibility_system;
|
|
use visibility_system::VisibilitySystem;
|
|
use visibility_system::VisibilitySystem;
|
|
mod monster_ai_system;
|
|
mod monster_ai_system;
|
|
@@ -74,17 +75,7 @@ impl GameState for State {
|
|
damage_system::CleanupDead.run_now(&self.ecs);
|
|
damage_system::CleanupDead.run_now(&self.ecs);
|
|
|
|
|
|
draw_map(&self.ecs, ctx);
|
|
draw_map(&self.ecs, ctx);
|
|
-
|
|
|
|
- let positions = self.ecs.read_storage::<Position>();
|
|
|
|
- let renderables = self.ecs.read_storage::<Renderable>();
|
|
|
|
- let map = self.ecs.fetch::<Map>();
|
|
|
|
-
|
|
|
|
- for (pos, render) in (&positions, &renderables).join() {
|
|
|
|
- let idx = map.xy_idx(pos.x, pos.y);
|
|
|
|
- if map.visible_tiles[idx] {
|
|
|
|
- ctx.set(pos.x, pos.y, render.fg, render.bg, render.glyph)
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ draw_system::DrawRenderables { ctx }.run_now(&self.ecs);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|