|
@@ -5,25 +5,15 @@ use specs::prelude::*;
|
|
|
#[macro_use]
|
|
|
extern crate specs_derive;
|
|
|
mod components;
|
|
|
-pub use components::*;
|
|
|
mod map;
|
|
|
-pub use map::*;
|
|
|
mod player;
|
|
|
use player::*;
|
|
|
mod rect;
|
|
|
+mod systems;
|
|
|
+
|
|
|
+pub use components::*;
|
|
|
+pub use map::*;
|
|
|
pub use rect::Rect;
|
|
|
-mod draw_system;
|
|
|
-mod visibility_system;
|
|
|
-use visibility_system::VisibilitySystem;
|
|
|
-mod monster_ai_system;
|
|
|
-use monster_ai_system::MonsterAI;
|
|
|
-mod map_indexing_system;
|
|
|
-use map_indexing_system::MapIndexingSystem;
|
|
|
-mod melee_combat_system;
|
|
|
-use melee_combat_system::MeleeCombatSystem;
|
|
|
-mod movement_system;
|
|
|
-mod damage_system;
|
|
|
-use damage_system::DamageSystem;
|
|
|
|
|
|
rltk::add_wasm_support!();
|
|
|
|
|
@@ -41,11 +31,11 @@ pub struct State {
|
|
|
|
|
|
impl State {
|
|
|
fn run_systems(&mut self) {
|
|
|
- MapIndexingSystem.run_now(&self.ecs);
|
|
|
- VisibilitySystem.run_now(&self.ecs);
|
|
|
- MonsterAI.run_now(&self.ecs);
|
|
|
- MeleeCombatSystem.run_now(&self.ecs);
|
|
|
- DamageSystem.run_now(&self.ecs);
|
|
|
+ systems::MapIndexingSystem.run_now(&self.ecs);
|
|
|
+ systems::VisibilitySystem.run_now(&self.ecs);
|
|
|
+ systems::MonsterAI.run_now(&self.ecs);
|
|
|
+ systems::MeleeCombatSystem.run_now(&self.ecs);
|
|
|
+ systems::DamageSystem.run_now(&self.ecs);
|
|
|
self.ecs.maintain();
|
|
|
}
|
|
|
}
|
|
@@ -73,12 +63,12 @@ impl GameState for State {
|
|
|
}
|
|
|
}
|
|
|
player::HandleInputEvent.run_now(&self.ecs);
|
|
|
- movement_system::HandleMoveEvent.run_now(&self.ecs);
|
|
|
+ systems::HandleMoveEvent.run_now(&self.ecs);
|
|
|
*self.ecs.write_resource() = newrunstate;
|
|
|
- damage_system::CleanupDead.run_now(&self.ecs);
|
|
|
+ systems::CleanupDead.run_now(&self.ecs);
|
|
|
|
|
|
draw_map(&self.ecs, ctx);
|
|
|
- draw_system::DrawRenderables { ctx }.run_now(&self.ecs);
|
|
|
+ systems::DrawRenderables { ctx }.run_now(&self.ecs);
|
|
|
}
|
|
|
}
|
|
|
|