diff options
Diffstat (limited to 'src/ui.rs')
| -rw-r--r-- | src/ui.rs | 36 |
1 files changed, 17 insertions, 19 deletions
@@ -1,11 +1,11 @@ pub mod topbar; pub mod bodies_window; pub mod fleet_window; +pub mod fleet_schedule; use std::{borrow::Borrow, cell::RefCell}; use crate::GameState; -use crate::eguictx::EguiCtx; use crate::solar_system::body::BodyId; use crate::ui::bodies_window::BodiesWindowState; use crate::ui::fleet_window::FleetWindowState; @@ -42,26 +42,24 @@ impl State if topbar_action.toggle_bodies_window { self.bodies_window.open = !self.bodies_window.open; } if topbar_action.toggle_fleets_window { self.fleet_window.open = !self.fleet_window.open; } - let current_system = match self.topbar_sate.current_system { - Some(id) => &game_state.solar_systems()[id], - None => return - }; + if let Some(current_system_id) = self.topbar_sate.current_system { + let current_system = &game_state.solar_systems()[current_system_id]; + let bodies_window_action = + self.bodies_window.paint(ui, current_system); + if bodies_window_action.focus_body.is_some() { + self.camera_target = bodies_window_action.focus_body; + } - let bodies_window_action = - self.bodies_window.paint(ui, current_system); - if bodies_window_action.focus_body.is_some() { - self.camera_target = bodies_window_action.focus_body; - } - - let fleet_window_action = - self.fleet_window.paint( - ui, - game_state.borrow(), - &self.topbar_sate.current_system, - &self.camera_target); + let fleet_window_action = + self.fleet_window.paint( + ui, + game_state.borrow(), + &self.topbar_sate.current_system, + &self.camera_target); - if let Some(new_fleet) = fleet_window_action.new_fleet { - game_state.new_fleet_from_ui(new_fleet); + if let Some(new_fleet) = fleet_window_action.new_fleet { + game_state.new_fleet_from_ui(new_fleet); + } } } } |
