use std::collections::HashMap; use std::f64::consts::PI; use avian2d::math::TAU; use avian2d::prelude::{LinearVelocity, Mass}; use bevy::log::debug; use bevy::prelude::{App, Plugin, Transform, Update}; use bevy::time::Time; use crate::shared::config::planet::{Planet, PlanetSpring}; use crate::prelude::{Query, Res, Without}; use crate::shared::ecs::TimeOffset; use crate::shared::world_config::WorldConfigResource; pub struct OrbitPlugin; impl Plugin for OrbitPlugin { fn build(&self, app: &mut App) { app.add_systems(Update, update_orbits); } } pub fn update_orbits( mut planets: Query<(&Planet, &Transform, &mut LinearVelocity), Without>, planets_2: Query<(&Planet, &Transform, &Mass), Without>, mut planet_springs: Query<(&PlanetSpring, &mut Transform, &mut LinearVelocity), Without>, world_config: Res, time: Res