diff options
Diffstat (limited to 'src/window.rs')
| -rw-r--r-- | src/window.rs | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/src/window.rs b/src/window.rs index 0be88e7..28c69f8 100644 --- a/src/window.rs +++ b/src/window.rs @@ -1,9 +1,3 @@ -pub mod ui; - -mod window { - pub use super::ui; -} - use std::cell::RefCell; use std::sync::{Arc}; use std::time::Duration; @@ -12,13 +6,11 @@ use winit::event::{ElementState, WindowEvent}; use winit::keyboard::KeyCode; use crate::tacmap::TacticalMap; -use crate::{GameState, SystemicApp}; +use crate::{GameState, SystemicApp, ui}; use crate::solar_system::{SolarSystem, SystemId}; use crate::wgpuctx::{RenderPassBuilder, WgpuCtx}; use crate::eguictx::EguiCtx; -use ui::*; - pub struct GameWindow { window: Arc<winit::window::Window>, @@ -27,7 +19,7 @@ pub struct GameWindow tactical_map: TacticalMap, - ui_state: GameWindowUiState + ui_state: ui::State } impl GameWindow @@ -51,6 +43,15 @@ impl GameWindow winit::dpi::LogicalPosition::new(0.0, 0.0), winit::dpi::LogicalSize::new(1.0, 1.0)); + let ui_state = ui::State{ + current_system: Some(0), + camera_info: ui::camera_info::CameraWindowState { + target: Some(0), + ..Default::default() + }, + ..Default::default() + }; + Ok(Self { window: window, wgpuctx: wgpuctx, @@ -66,6 +67,14 @@ impl GameWindow game_state: &RefCell<GameState>, 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; + } + } self.tactical_map.update(game_state, &mut self.ui_state, dt); } @@ -103,7 +112,7 @@ impl GameWindow } { self.eguictx.prepare(&self.window); - self.ui_state = GameWindowUiState::render(&self.ui_state, game_state, &self.eguictx); + self.ui_state.render(game_state, &self.eguictx); self.eguictx.present( &self.window, |
