From 961f8c6d405c9c6fcf9aaf4fb6f199b0e5c60d88 Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Thu, 30 Apr 2026 10:06:32 -0400 Subject: add orbit rendering for bodies --- src/window.rs | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) (limited to 'src/window.rs') diff --git a/src/window.rs b/src/window.rs index 3b090ff..ce1b555 100644 --- a/src/window.rs +++ b/src/window.rs @@ -67,24 +67,27 @@ impl GameWindow game_state: &RefCell, dt: Duration) { - { - let mut game_state = game_state.borrow_mut(); - if self.ui_state.do_auto_tick { - game_state.timeman.auto_tick = self.ui_state.auto_time; - }else{ - game_state.timeman.auto_tick = None; - } + let mut game_state = game_state.borrow_mut(); + if self.ui_state.do_auto_tick { + game_state.timeman.auto_tick = self.ui_state.auto_time; + }else{ + game_state.timeman.auto_tick = None; } - self.tactical_map.update(game_state, &mut self.ui_state, dt); + + let current_system = match self.ui_state.current_system { + Some(id) => &game_state.solar_systems()[id], + None => { return; } + }; + + self.tactical_map.update(current_system, &mut self.ui_state, dt); } pub fn keyboard_input( &mut self, - game_state: &RefCell, key_code: KeyCode, key_state: ElementState) { - self.tactical_map.keyboard_input(game_state, key_code, key_state); + self.tactical_map.keyboard_input(key_code, key_state); } pub fn render( @@ -95,10 +98,15 @@ impl GameWindow return Ok(()); } - self.tactical_map.draw( - &self.wgpuctx, - game_state, - self.ui_state.current_system)?; + if self.ui_state.current_system.is_some() { + let game_state = game_state.borrow(); + let current_system = &game_state.solar_systems()[self.ui_state.current_system.unwrap()]; + + self.tactical_map.draw( + &self.wgpuctx, + current_system, + game_state.timeman())?; + } let view = self.wgpuctx.prepare_surface(&wgpu::TextureViewDescriptor::default())?; let mut scene = SceneCtx::from_view_default(&self.wgpuctx, &view, Some("Systemic window scene")); -- cgit v1.2.3