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 }