From 33e867eb07895ba9770a0f9c882855c84ac81aa5 Mon Sep 17 00:00:00 2001 From: ghostly_zsh Date: Fri, 28 Nov 2025 07:43:35 -0600 Subject: [PATCH] feat: hearty in starguide --- crates/unified/src/client/mod.rs | 2 +- crates/unified/src/client/starguide/init.rs | 30 +++++++++++++++++++-- crates/unified/src/ecs.rs | 2 ++ 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/crates/unified/src/client/mod.rs b/crates/unified/src/client/mod.rs index 12e7eb242607150972f18677df2664cdeeb427b2..d855d4a99a8bfc62c3ebdb94ad7b0c0682e7491e 100644 --- a/crates/unified/src/client/mod.rs +++ b/crates/unified/src/client/mod.rs @@ -82,7 +82,7 @@ fn find_me( info!("^^^^^^^^^^^ IGNORE THESE WARNINGS ^^^^^^^^^^^^^^"); info!("they are normal! and are from the world state being replicated as it is sent over the network"); info!(?msg, "finding me: got hello from server"); - commands.entity(msg.you_are).insert(Me).insert(STARGUIDE_LAYER); + commands.entity(msg.you_are).insert(Me); /*let mut heart_sprite = Sprite::from_image(asset_server.load("sprites/hearty_heart.png")); diff --git a/crates/unified/src/client/starguide/init.rs b/crates/unified/src/client/starguide/init.rs index a31136a684bc405856fd4c0de11ca5e5e62b2aca..7e8a9652972475244972e2840045d723ec6e0490 100644 --- a/crates/unified/src/client/starguide/init.rs +++ b/crates/unified/src/client/starguide/init.rs @@ -2,17 +2,21 @@ use bevy::anti_alias::fxaa::Fxaa; use bevy::core_pipeline::tonemapping::DebandDither; use bevy::post_process::bloom::Bloom; use crate::prelude::*; -use crate::ecs::{StarguideCamera, STARGUIDE_LAYER}; +use crate::ecs::{Me, Part, STARGUIDE_LAYER, StarguideCamera, StarguideMe}; use crate::config::planet::SpecialSpriteProperties; use crate::config::planet::Planet; pub fn starguide_init_plugin(app: &mut App) { - app.add_systems(Startup, init_starguide); + app + .add_systems(Startup, init_starguide) + .add_systems(Update, player_init) + .add_systems(Update, player_position_update); } pub fn init_starguide(mut commands: Commands) { commands.spawn((Camera2d::default(), Camera { is_active: false, + clear_color: ClearColorConfig::Custom(Color::linear_rgba(0.0, 0.0, 0.0, 0.0)), ..default() })) .insert(Bloom::default()) @@ -21,3 +25,25 @@ pub fn init_starguide(mut commands: Commands) { .insert(STARGUIDE_LAYER) .insert(StarguideCamera); } + +pub fn player_init( + me: Single<(Entity, &Sprite, &Part), Added>, + mut commands: Commands, + asset_server: Res, +) { + let mut sprite = Sprite::from_image(asset_server.load(&me.2.strong_config.part.sprite_connected)); + sprite.custom_size = Some(Vec2::new( + me.2.strong_config.physics.width, + me.2.strong_config.physics.height, + )); + commands.spawn((sprite, StarguideMe, STARGUIDE_LAYER, + Transform::from_scale(Vec3::splat(10.0)))); +} + +fn player_position_update( + me: Single<&Transform, (Changed, With)>, + mut starguide_me: Single<&mut Transform, (With, Without)>, +) { + starguide_me.translation = me.translation; + starguide_me.rotation = me.rotation; +} diff --git a/crates/unified/src/ecs.rs b/crates/unified/src/ecs.rs index dca317496565fdf8e23c73d0144c33b1d77cf4b3..c88facb03d4f7f5c06cc11de8ac2d333cd1a2cdf 100644 --- a/crates/unified/src/ecs.rs +++ b/crates/unified/src/ecs.rs @@ -89,6 +89,8 @@ pub struct PlayerStorage { #[derive(Component)] pub struct Me; +#[derive(Component)] +pub struct StarguideMe; #[derive(Message, Serialize, Deserialize, Debug, MapEntities)] pub struct Hi {