From 15ab2b2b82b7ed38334ad257d087535f221f8cf0 Mon Sep 17 00:00:00 2001 From: core Date: Thu, 3 Jul 2025 22:47:14 -0400 Subject: [PATCH] chore(fmt): format --- crates/unified/src/client/colors.rs | 3 +- crates/unified/src/client/mod.rs | 13 ++++--- crates/unified/src/client/net.rs | 14 ++++--- crates/unified/src/client/ui.rs | 7 +--- crates/unified/src/client_plugins.rs | 4 +- crates/unified/src/lib.rs | 9 +++-- crates/unified/src/main.rs | 9 ++--- crates/unified/src/server/gravity.rs | 9 +---- crates/unified/src/server/mod.rs | 53 ++++++++++++++++----------- crates/unified/src/server/player.rs | 8 +++- crates/unified/src/server_plugins.rs | 4 +- crates/unified/src/wasm_entrypoint.rs | 6 +-- 12 files changed, 75 insertions(+), 64 deletions(-) diff --git a/crates/unified/src/client/colors.rs b/crates/unified/src/client/colors.rs index d01d4562453bd81043438a01211b566b59528a7f..60b52a9d505b914d88b91d87ae31b392647234c2 100644 --- a/crates/unified/src/client/colors.rs +++ b/crates/unified/src/client/colors.rs @@ -1,7 +1,8 @@ macro_rules! color { ($n:ident,rgb($r:expr, $g:expr, $b:expr)) => { #[allow(dead_code)] - pub const $n: ::bevy::prelude::Color = ::bevy::prelude::Color::srgb($r as f32 / 256.0, $g as f32 / 256.0, $b as f32 / 256.0); + pub const $n: ::bevy::prelude::Color = + ::bevy::prelude::Color::srgb($r as f32 / 256.0, $g as f32 / 256.0, $b as f32 / 256.0); }; } diff --git a/crates/unified/src/client/mod.rs b/crates/unified/src/client/mod.rs index 89e31b81612b6f0576a18bc3c72fc3bb2fef6a29..6517e96985678e9e2b47f4700384afecac8e72af 100644 --- a/crates/unified/src/client/mod.rs +++ b/crates/unified/src/client/mod.rs @@ -1,25 +1,25 @@ +mod colors; mod incoming_parts; mod incoming_planets; mod key_input; -mod starfield; mod net; +mod starfield; mod ui; -mod colors; -use aeronet_websocket::client::WebSocketClient; use crate::client::incoming_parts::incoming_parts_plugin; use crate::client::incoming_planets::incoming_planets_plugin; use crate::client::key_input::key_input_plugin; use crate::client::starfield::starfield_plugin; +use crate::client::ui::ui_plugin; use crate::ecs::{CursorWorldCoordinates, MainCamera, Player}; +use aeronet_websocket::client::WebSocketClient; use bevy::core_pipeline::fxaa::Fxaa; use bevy::prelude::*; use bevy::window::PrimaryWindow; use bevy_replicon::shared::server_entity_map::ServerEntityMap; -use crate::client::ui::ui_plugin; pub struct ClientPlugin { - pub server: String + pub server: String, } impl Plugin for ClientPlugin { fn build(&self, app: &mut App) { @@ -28,7 +28,8 @@ impl Plugin for ClientPlugin { .add_systems(Startup, move |mut commands: Commands| { let config = net::websocket_config(); - commands.spawn(Name::new("default-session")) + commands + .spawn(Name::new("default-session")) .queue(WebSocketClient::connect(config, server.clone())); }) .add_observer(net::on_connecting) diff --git a/crates/unified/src/client/net.rs b/crates/unified/src/client/net.rs index 96a240116c2441ebd20dc8c9ca10540bb91d0a92..b696caf1cc010183836bcf6855cf0a5646a3c605 100644 --- a/crates/unified/src/client/net.rs +++ b/crates/unified/src/client/net.rs @@ -1,9 +1,13 @@ -use aeronet::io::{Session, SessionEndpoint}; use aeronet::io::connection::Disconnected; +use aeronet::io::{Session, SessionEndpoint}; use aeronet_replicon::client::AeronetRepliconClient; use bevy::prelude::*; -pub fn on_connecting(trigger: Trigger, names: Query<&Name>, mut commands: Commands) { +pub fn on_connecting( + trigger: Trigger, + names: Query<&Name>, + mut commands: Commands, +) { let entity = trigger.target(); let name = names.get(entity).unwrap(); info!("{name} is connecting"); @@ -22,10 +26,10 @@ pub fn on_disconnected(trigger: Trigger, names: Query<&Name>) { match &*trigger { Disconnected::ByUser(reason) => { info!(?name, ?reason, "session disconnected by user"); - }, + } Disconnected::ByPeer(reason) => { info!(?name, ?reason, "session disconnected by peer"); - }, + } Disconnected::ByError(err) => { warn!(?name, "session disconnected due to error: {err:?}"); } @@ -39,4 +43,4 @@ pub fn websocket_config() -> aeronet_websocket::client::ClientConfig { #[cfg(not(target_family = "wasm"))] pub fn websocket_config() -> aeronet_websocket::client::ClientConfig { aeronet_websocket::client::ClientConfig::builder().with_no_cert_validation() -} \ No newline at end of file +} diff --git a/crates/unified/src/client/ui.rs b/crates/unified/src/client/ui.rs index 79c0473be8dc5c7efe1e414512fba5592f62d78d..f31505983f630412bf5211476f1871a0cd65d019 100644 --- a/crates/unified/src/client/ui.rs +++ b/crates/unified/src/client/ui.rs @@ -3,13 +3,10 @@ use bevy::prelude::*; use crate::client::colors; pub fn ui_plugin(app: &mut App) { - app - .add_systems(Startup, setup_ui); + app.add_systems(Startup, setup_ui); } -fn setup_ui( - mut commands: Commands, -) { +fn setup_ui(mut commands: Commands) { commands.spawn(( Node { width: Val::Percent(100.0), diff --git a/crates/unified/src/client_plugins.rs b/crates/unified/src/client_plugins.rs index 595abed8f5d11d81b39717fedb35ac0028e3aeaf..8621c2064045eb9d0f4596d603aba264cc2d3ed4 100644 --- a/crates/unified/src/client_plugins.rs +++ b/crates/unified/src/client_plugins.rs @@ -1,13 +1,13 @@ +use crate::client::ClientPlugin; use aeronet_replicon::client::AeronetRepliconClientPlugin; use aeronet_websocket::client::WebSocketClientPlugin; -use crate::client::ClientPlugin; use bevy::DefaultPlugins; use bevy::app::{PluginGroup, PluginGroupBuilder}; use bevy::log::LogPlugin; use bevy_replicon::RepliconPlugins; pub struct ClientPluginGroup { - pub server: String + pub server: String, } impl PluginGroup for ClientPluginGroup { fn build(self) -> PluginGroupBuilder { diff --git a/crates/unified/src/lib.rs b/crates/unified/src/lib.rs index 78c73e1200ffad7b3bc8df4112fe4936c1a07f5c..adc27f0d3f542cdd80bcadb0f253c843eee079ab 100644 --- a/crates/unified/src/lib.rs +++ b/crates/unified/src/lib.rs @@ -1,8 +1,9 @@ #![warn(clippy::pedantic)] // Be annoying, and disable specific irritating lints if needed -#![deny(clippy::allow_attributes_without_reason, clippy::assertions_on_result_states)] +#![deny( + clippy::allow_attributes_without_reason, + clippy::assertions_on_result_states +)] #![warn(clippy::if_then_some_else_none)] - - #![allow(clippy::type_complexity, reason = "Bevy makes this a nightmare")] #![allow(clippy::needless_pass_by_value, reason = "Bevy makes this a nightmare")] #![allow(clippy::cast_precision_loss, reason = "We cast ints to floats a lot")] @@ -22,4 +23,4 @@ pub mod ecs; pub mod server; #[cfg(all(not(target_arch = "wasm32"), feature = "native"))] pub mod server_plugins; -pub mod shared_plugins; \ No newline at end of file +pub mod shared_plugins; diff --git a/crates/unified/src/main.rs b/crates/unified/src/main.rs index 5fb82e9ba65bcfd0af5a094fb919bfde1eaeac86..1b94aaed4afa7d43ef0704a68bb1305400daf173 100644 --- a/crates/unified/src/main.rs +++ b/crates/unified/src/main.rs @@ -1,11 +1,10 @@ - +use bevy::log::{Level, tracing_subscriber}; +use bevy::prelude::*; +use clap::Parser; use starkingdoms::client_plugins::ClientPluginGroup; #[cfg(not(target_arch = "wasm32"))] use starkingdoms::server_plugins::ServerPluginGroup; use starkingdoms::shared_plugins::SharedPluginGroup; -use bevy::log::{Level, tracing_subscriber}; -use bevy::prelude::*; -use clap::Parser; use std::net::SocketAddr; use std::process::exit; use tracing_subscriber::EnvFilter; @@ -37,7 +36,7 @@ fn main() -> AppExit { .with_env_filter( EnvFilter::builder() .with_default_directive(Level::INFO.into()) - .from_env_lossy() + .from_env_lossy(), ) .finish() .init(); diff --git a/crates/unified/src/server/gravity.rs b/crates/unified/src/server/gravity.rs index 7424bc0dfc3b2fe296a35b3f6468e670d7eec7a2..7ede414a1f82140a8eaa447b835b2eb2eebdc80f 100644 --- a/crates/unified/src/server/gravity.rs +++ b/crates/unified/src/server/gravity.rs @@ -10,14 +10,7 @@ pub fn newtonian_gravity_plugin(app: &mut App) { } fn update_gravity( - mut part_query: Query< - ( - &Transform, - &ReadMassProperties, - &mut ExternalForce, - ), - With, - >, + mut part_query: Query<(&Transform, &ReadMassProperties, &mut ExternalForce), With>, planet_query: Query<(&Transform, &ReadMassProperties), With>, world_config: Res, ) { diff --git a/crates/unified/src/server/mod.rs b/crates/unified/src/server/mod.rs index 3d830a4b0c3fcd0c229638057d51580c95f88e55..5bea248764e3c6be50472ff8d58767ce5407760c 100644 --- a/crates/unified/src/server/mod.rs +++ b/crates/unified/src/server/mod.rs @@ -3,18 +3,18 @@ pub mod planets; pub mod player; mod world_config; -use std::net::SocketAddr; +use crate::server::gravity::newtonian_gravity_plugin; +use crate::server::planets::planets_plugin; +use crate::server::player::player_management_plugin; +use crate::server::world_config::world_config_plugin; +use aeronet::io::Session; use aeronet::io::connection::{Disconnected, LocalAddr}; use aeronet::io::server::Server; -use aeronet::io::Session; use aeronet_replicon::server::AeronetRepliconServer; use aeronet_websocket::server::WebSocketServer; use bevy::prelude::*; use bevy_replicon::prelude::Replicated; -use crate::server::gravity::newtonian_gravity_plugin; -use crate::server::planets::planets_plugin; -use crate::server::player::player_management_plugin; -use crate::server::world_config::world_config_plugin; +use std::net::SocketAddr; pub struct ServerPlugin { pub bind: SocketAddr, @@ -26,9 +26,10 @@ impl Plugin for ServerPlugin { app.add_systems(FixedPreUpdate, bevy_replicon::server::increment_tick) // !!important!! do not remove or move .add_systems(Startup, move |mut commands: Commands| { - let server = commands.spawn(Name::new("ws-server")) + let server = commands + .spawn(Name::new("ws-server")) .insert(AeronetRepliconServer) - .insert(Transform::from_xyz(0.0,0.0,0.0)) + .insert(Transform::from_xyz(0.0, 0.0, 0.0)) .queue(WebSocketServer::open(config.clone())) .id(); @@ -53,14 +54,13 @@ impl ServerPlugin { #[derive(Component)] pub struct ConnectedGameEntity { - pub network_entity: Entity + pub network_entity: Entity, } #[derive(Component)] pub struct ConnectedNetworkEntity { - pub game_entity: Entity + pub game_entity: Entity, } - fn on_opened(trigger: Trigger, servers: Query<&LocalAddr>) { let server = trigger.target(); let local_addr = servers.get(server).unwrap(); @@ -79,18 +79,25 @@ fn on_connected( // spawn the player - let player = commands.spawn(ConnectedGameEntity { - network_entity: client - }).id(); + let player = commands + .spawn(ConnectedGameEntity { + network_entity: client, + }) + .id(); commands.entity(client).insert(( Replicated, ConnectedNetworkEntity { - game_entity: player + game_entity: player, }, )); } -fn on_disconnected(trigger: Trigger, clients: Query<&ChildOf>, player_entity: Query<&ConnectedNetworkEntity>, mut commands: Commands) { +fn on_disconnected( + trigger: Trigger, + clients: Query<&ChildOf>, + player_entity: Query<&ConnectedNetworkEntity>, + mut commands: Commands, +) { let client = trigger.target(); let Ok(&ChildOf(server)) = clients.get(client) else { return; @@ -98,15 +105,19 @@ fn on_disconnected(trigger: Trigger, clients: Query<&ChildOf>, pla match &*trigger { Disconnected::ByUser(reason) => { info!(?client, ?server, ?reason, "client disconnected by user"); - }, + } Disconnected::ByPeer(reason) => { info!(?client, ?server, ?reason, "client disconnected by peer"); - }, + } Disconnected::ByError(err) => { warn!(?client, ?server, "client disconnected with error: {err:?}"); } } - let Ok(other_entity) = player_entity.get(client) else { return }; - let Ok(mut commands) = commands.get_entity(other_entity.game_entity) else { return }; + let Ok(other_entity) = player_entity.get(client) else { + return; + }; + let Ok(mut commands) = commands.get_entity(other_entity.game_entity) else { + return; + }; commands.despawn(); -} \ No newline at end of file +} diff --git a/crates/unified/src/server/player.rs b/crates/unified/src/server/player.rs index 65c5096fe337f66cd2cb319dc37c4bb0e226a627..aab39e4ff0bf289ed5e48d545adc4be61ee51fc1 100644 --- a/crates/unified/src/server/player.rs +++ b/crates/unified/src/server/player.rs @@ -3,12 +3,12 @@ use std::f32::consts::PI; use crate::config::planet::Planet; use crate::ecs::{Part, PartBundle, Player, PlayerThrust, ThrustEvent}; use crate::server::world_config::WorldConfigResource; +use crate::server::{ConnectedGameEntity, ConnectedNetworkEntity}; use bevy::prelude::*; use bevy_rapier2d::prelude::{ AdditionalMassProperties, Collider, ExternalForce, ExternalImpulse, MassProperties, }; use bevy_replicon::prelude::{FromClient, Replicated}; -use crate::server::{ConnectedGameEntity, ConnectedNetworkEntity}; pub fn player_management_plugin(app: &mut App) { app.add_systems(PreUpdate, reset_movement) @@ -85,7 +85,11 @@ fn player_thrust( mut thrust_event: EventReader>, world_config: Res, ) { - for FromClient { client_entity, event } in thrust_event.read() { + for FromClient { + client_entity, + event, + } in thrust_event.read() + { let ConnectedNetworkEntity { game_entity } = clients.get(*client_entity).unwrap(); let Ok((_, _, mut thrust)) = players.get_mut(*game_entity) else { diff --git a/crates/unified/src/server_plugins.rs b/crates/unified/src/server_plugins.rs index 3beff17129243641f3b85578cca193dacb9729eb..60f6f4b53df3b140220c7ce86c7f3ca6ba40d03a 100644 --- a/crates/unified/src/server_plugins.rs +++ b/crates/unified/src/server_plugins.rs @@ -1,5 +1,7 @@ use crate::config::planet::PlanetConfigCollection; use crate::config::world::GlobalWorldConfig; +use aeronet_replicon::server::AeronetRepliconServerPlugin; +use aeronet_websocket::server::WebSocketServerPlugin; use bevy::app::{PluginGroup, PluginGroupBuilder, ScheduleRunnerPlugin, TaskPoolPlugin}; use bevy::asset::AssetPlugin; use bevy::diagnostic::FrameCountPlugin; @@ -8,8 +10,6 @@ use bevy_common_assets::toml::TomlAssetPlugin; use bevy_replicon::RepliconPlugins; use std::net::SocketAddr; use std::time::Duration; -use aeronet_replicon::server::AeronetRepliconServerPlugin; -use aeronet_websocket::server::WebSocketServerPlugin; pub struct ServerPluginGroup { pub bind: SocketAddr, diff --git a/crates/unified/src/wasm_entrypoint.rs b/crates/unified/src/wasm_entrypoint.rs index 622e45571e9b5988b6e07198b65bd8e3052c5604..deca128804da9ed87e3c573c7b58264250a0e4f0 100644 --- a/crates/unified/src/wasm_entrypoint.rs +++ b/crates/unified/src/wasm_entrypoint.rs @@ -1,9 +1,9 @@ +use crate::client_plugins::ClientPluginGroup; +use crate::shared_plugins::SharedPluginGroup; use aeronet_websocket::client::WebSocketClient; use bevy::app::{App, Startup}; use url::Url; use wasm_bindgen::prelude::*; -use crate::client_plugins::ClientPluginGroup; -use crate::shared_plugins::SharedPluginGroup; #[wasm_bindgen] pub fn play(server: &str) -> Result<(), JsValue> { @@ -21,4 +21,4 @@ pub fn play(server: &str) -> Result<(), JsValue> { bevy::prelude::info!("goodbye!"); Ok(()) -} \ No newline at end of file +}