use log::{error, info}; use space_crush_app::{App, Error}; use space_crush_common::{ misc::{init_logger, Vfs}, Dispatcher, }; use specs::{World, WorldExt}; fn main() -> Result<(), Error> { let vfs = Vfs::new(&["space-crush-app"])?; init_logger(&vfs, "log4rs.yml"); vfs.log_info(); info!("Application started"); if let Err(err) = run(vfs) { error!("Error while executing application: {}", err); return Err(err); } info!("Application exited"); Ok(()) } fn run(vfs: Vfs) -> Result<(), Error> { let mut world = World::new(); world.insert(vfs); let mut common = Dispatcher::new(&mut world); let mut app = App::new(&mut world)?; create_test_world(&mut world); while app.is_running() { common.process(&world); app.process(&world)?; } Ok(()) } fn create_test_world(world: &mut World) { use glc::vector::Vector2f; use space_crush_common::components::{Planet, Position}; use specs::Builder; world .create_entity() .with(Position { pos: Vector2f::default(), size: 500.0, }) .with(Planet) .build(); }