diff --git a/src/input.rs b/src/input.rs index 6455f6c..1d0736b 100644 --- a/src/input.rs +++ b/src/input.rs @@ -3,50 +3,4 @@ use shipyard::{AllStoragesView, Unique}; use hashbrown::HashMap; use nohash_hasher::BuildNoHashHasher; -#[derive(Clone, Copy, Debug)] -#[repr(u8)] -pub enum Action { - Move(f32, f32), - Look(f32, f32), -} - -pub type MouseCallback = fn(x: f32, y: f32) -> A; - -#[derive(Unique)] -pub struct InputSystem { - pub keyboard_keymap: HashMap>, - mouse_map: Option>, - pub mouse_sensitivity: f32, - keyboard_state: HashMap>, - mouse_delta: (f32, f32), - mouse_position: (f32, f32), -} -impl InputSystem { - pub fn new() -> Self { - Self { - keyboard_keymap: HashMap::with_hasher(BuildNoHashHasher::default()), - mouse_map: None, - mouse_sensitivity: 1., - keyboard_state: HashMap::with_hasher(BuildNoHashHasher::default()), - mouse_delta: (0., 0.), - mouse_position: (0., 0.), - } - } - pub fn map_to_mouse(&mut self, function: MouseCallback) { - self.mouse_map = Some(function); - } -} - -pub fn setup_input_system( - storages: AllStoragesView -) { - let mut input = InputSystem::new(); - input.keyboard_keymap.extend([ - (VirtualKeyCode::W, Action::Move(0., 1.)), - (VirtualKeyCode::A, Action::Move(-1., 0.)), - (VirtualKeyCode::S, Action::Move(0., -1.)), - (VirtualKeyCode::D, Action::Move(1., 0.)) - ]); - input.map_to_mouse(Action::Look); - storages.add_unique(input); -} +//todo