diff options
Diffstat (limited to 'src/tacmap/camera.rs')
| -rw-r--r-- | src/tacmap/camera.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/tacmap/camera.rs b/src/tacmap/camera.rs index af163b8..1f2549b 100644 --- a/src/tacmap/camera.rs +++ b/src/tacmap/camera.rs @@ -6,6 +6,7 @@ use winit::keyboard::KeyCode; use crate::solar_system::body::OrbitalBody; use crate::solar_system::{self, Kilometers, SolarSystem}; +use crate::timeman::Second; use crate::ui; use crate::wgpuctx::WgpuCtx; @@ -268,6 +269,7 @@ impl CameraController camera: &mut Camera, solar_system: &SolarSystem, target: &OrbitalBody, + time: Second, dt: Duration) { let target_radius = (target.radius() * 2.0).max(1.0); @@ -277,11 +279,11 @@ impl CameraController match target.get_orbit() { Some(orbit) => { let parent = solar_system.body(orbit.parent()); - camera.origin_position = parent.absolute_position(solar_system); - camera.rel_position = target.relative_position().map(|v| { v as f32 }); + camera.origin_position = parent.absolute_position(solar_system, time); + camera.rel_position = target.relative_position(time).map(|v| { v as f32 }); }, None => { - camera.origin_position = target.absolute_position(solar_system); + camera.origin_position = target.absolute_position(solar_system, time); camera.rel_position.set_zero(); } } @@ -330,6 +332,7 @@ impl CameraController camera: &mut Camera, solar_system: &SolarSystem, ui_state: &mut ui::State, + time: Second, dt: Duration) { match ui_state.camera_target { @@ -340,6 +343,7 @@ impl CameraController camera, solar_system, body, + time, dt); } None => self.update_pan(camera, dt) |
