diff --git a/src/main.rs b/src/main.rs index 1a545d5..2228bd1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,6 +2,7 @@ mod aabb; mod camera; mod chunk; mod geometry; +mod npc; mod quad; mod render_context; mod state; @@ -79,13 +80,18 @@ fn main() { button, .. } => { - if *button == MouseButton::Left && *mouse_state == ElementState::Pressed { + if !state.mouse_grabbed && *button == MouseButton::Left && *mouse_state == ElementState::Pressed { let _ = window.set_cursor_grab(true); window.set_cursor_visible(false); state.mouse_grabbed = true; + } else { + state.window_event(event); } - - state.window_event(event); + } + WindowEvent::Focused(false) => { + let _ = window.set_cursor_grab(false); + window.set_cursor_visible(true); + state.mouse_grabbed = false; } event => { state.window_event(event); } },