From f3178df0a92fb3b87087e78cad7b9313f947be6a Mon Sep 17 00:00:00 2001 From: Arne Dußin Date: Wed, 5 May 2021 23:40:17 +0200 Subject: Initial commit --- src/main.rs | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/main.rs (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..60186b3 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,45 @@ +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); + } +} -- cgit v1.2.3-70-g09d2