diff options
Diffstat (limited to 'src/lunar/systems.rs')
-rw-r--r-- | src/lunar/systems.rs | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/lunar/systems.rs b/src/lunar/systems.rs index 4cdebdc..81fbbf2 100644 --- a/src/lunar/systems.rs +++ b/src/lunar/systems.rs @@ -1,3 +1,5 @@ +use core::f32; + use bevy::prelude::*; use avian2d::prelude::*; use super::DestPlanet; @@ -21,26 +23,28 @@ pub fn update_lunar_transform( let new_transform = lunar_period_to_vec( lod.period, lod.orbital_radius).normalize_or_zero() * lod.orbital_radius; + // println!("lunar transform: {}", new_transform); moon_transform.translation = Vec3 {x: new_transform.x, y: new_transform.y, z: 0.0}; - lod.period = dt * lod.orbital_velocity; + lod.period += dt * lod.orbital_velocity; + lod.period = if lod.period <= 2. * f32::consts::PI { lod.period } else { 0. } } pub fn setup_moon(mut cmd: Commands) { let objective_planet = DestPlanet { // display_name: String::from("Objective Planet"), - planet_mass_kg: 50.0, - radius: 5.0, + planet_mass_kg: 50000.0, + radius: 30.0, }; - let lunar_radius = 900.0; + let lunar_radius = 225.0; let r = (&objective_planet).radius; let m = (&objective_planet).planet_mass_kg; let initial_transform = lunar_period_to_vec(0., 100.); cmd.spawn(( objective_planet, - LunarOrbitalData { period: 0., orbital_velocity: 1., orbital_radius: lunar_radius}, - RigidBody::Dynamic, + LunarOrbitalData { period: 0., orbital_velocity: 1.0, orbital_radius: lunar_radius}, + RigidBody::Static, Transform::from_xyz(initial_transform.x, initial_transform.y, 0.0), Sprite::from_color(Color::BLACK, Vec2 { x: 30., y: 30. }), - Collider::circle(r), + Collider::rectangle(r, r), Mass(m), )); -}
\ No newline at end of file +} |