/ src / main.rs
main.rs
 1  #![allow(clippy::needless_lifetimes)]
 2  use specs::{DispatcherBuilder, World, WorldExt};
 3  use term::terminal::CrosstermApp;
 4  
 5  mod board;
 6  mod combat;
 7  mod components;
 8  mod experience;
 9  mod flow;
10  mod items;
11  mod monster;
12  mod movement;
13  mod player;
14  mod term;
15  mod turn;
16  
17  fn main() -> anyhow::Result<()> {
18      let mut world = World::new();
19      let mut dispatcher_builder = DispatcherBuilder::new();
20  
21      term::register(&mut dispatcher_builder, &mut world)?;
22      board::register(&mut dispatcher_builder, &mut world)?;
23      items::register(&mut dispatcher_builder, &mut world)?;
24      movement::register(&mut dispatcher_builder, &mut world)?;
25      player::register(&mut dispatcher_builder, &mut world)?;
26      monster::register(&mut dispatcher_builder, &mut world)?;
27      combat::register(&mut dispatcher_builder, &mut world)?;
28      experience::register(&mut dispatcher_builder, &mut world)?;
29      turn::register(&mut dispatcher_builder, &mut world)?;
30      flow::register(&mut dispatcher_builder, &mut world)?;
31  
32      let dispatcher = dispatcher_builder.build();
33  
34      let app = CrosstermApp::new(world, dispatcher);
35      app.run()?;
36  
37      Ok(())
38  }