pub mod components; pub mod systems; pub mod texture_manager; use components::{Pos, StaticDrawable}; use specs::prelude::*; use specs::{DispatcherBuilder, World}; use systems::{SysDraw, SysInput}; fn main() { let sdl = sdl2::init().expect("Unable to start SDL context"); let video_subsys = sdl.video().expect("Unable to get SDL Video context"); let window = video_subsys .window("Pokemon Mystery Dungeon coop clone", 800, 600) .position_centered() .opengl() .resizable() .build() .expect("Unable to create window"); let mut world = World::new(); world.register::(); world.register::(); world .create_entity() .with(Pos { x: 0., y: 0. }) .with(StaticDrawable { texture_name: "portraits.png".to_string(), }) .build(); let sys_input = SysInput::new(&sdl); let sys_draw = SysDraw::new(window); let mut dispatcher = DispatcherBuilder::new() .with_thread_local(sys_input) .with_thread_local(sys_draw) .build(); loop { dispatcher.dispatch(&mut world); } }