summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs26
1 files changed, 19 insertions, 7 deletions
diff --git a/src/main.rs b/src/main.rs
index 319eabc..5e821f9 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -5,6 +5,7 @@ mod controllable;
use avian2d::prelude::*;
use bevy::{prelude::*, winit::WinitSettings};
use controllable::Player;
+use lunar::DestPlanet;
fn main() {
println!("Hello, world!");
App::new()
@@ -16,15 +17,19 @@ fn main() {
Startup,
(
setup::setup_starting_planet,
- setup::setup_init,
+ setup::setup_init,
+ controllable::setup_player_with_controls,
lunar::setup_moon
)
)
.add_systems(
Update,
(
- update_gravitational_forces,
- lunar::update_lunar_transform
+ lunar::update_lunar_transform,
+ controllable::player_movements,
+ controllable::camera_follow_player,
+ controllable::check_transition_level,
+ update_gravitational_forces,
)
)
.run();
@@ -49,7 +54,7 @@ fn calculate_force_vector(
pos_actor: Vec2,
pos_incident: Vec2,
) -> Vec2 {
- let grav_const = 100.0;
+ let grav_const = 15.0;
(grav_const * mass_actor * mass_incident / (pos_actor.distance_squared(pos_incident)))
* Vec2 {
x: pos_actor.x - pos_incident.x,
@@ -63,17 +68,24 @@ fn calculate_force_vector(
}
fn update_gravitational_forces(
mut query_planet: Query<(Entity, &StartPlanet, &Transform)>,
+ mut query_planet2: Query<(Entity, &DestPlanet, &Transform)>,
mut query_object: Query<(Entity, &Player, &mut ExternalForce, &Transform)>,
) {
let (_es, ps, ts) = query_planet.single_mut();
+ let (_es, planet2, trans2) = query_planet2.single_mut();
let (_ed, player, mut exd, td) = query_object.single_mut();
- let f = calculate_force_vector(
+ let f0 = calculate_force_vector(
ps.planet_mass_kg,
player.mass_kg,
ts.translation.xy(),
td.translation.xy(),
);
- info!("Force: {}, Transform: {}", f, td.translation);
- exd.apply_force(f);
+ let f1 = calculate_force_vector(
+ planet2.planet_mass_kg,
+ player.mass_kg,
+ trans2.translation.xy(),
+ td.translation.xy());
+ //info!("Force: {}, Transform: {}", f, td.translation);
+ exd.apply_force(f0).apply_force(f1);
}