From e10f9c6272c3a1abdf197eb056cbc79a9c3109ca Mon Sep 17 00:00:00 2001 From: core Date: Tue, 8 Jul 2025 23:05:36 -0400 Subject: [PATCH] Revert "fix: anchors" This reverts commit 04beb9f36db6a39a3be1263a79cdf80af900dbe0. --- crates/unified/src/attachment.rs | 10 +++--- crates/unified/src/client/key_input.rs | 5 ++- crates/unified/src/server/part.rs | 44 +------------------------- crates/unified/src/shared_plugins.rs | 4 +-- 4 files changed, 10 insertions(+), 53 deletions(-) diff --git a/crates/unified/src/attachment.rs b/crates/unified/src/attachment.rs index fb8026c61147e256c64f1f3f51efc954685b9b53..93307bbb4f03e37669c5b059e04a1d8c30ae5304 100644 --- a/crates/unified/src/attachment.rs +++ b/crates/unified/src/attachment.rs @@ -30,11 +30,11 @@ pub struct JointOf(#[entities] pub Entity); #[relationship_target(relationship = JointOf)] pub struct Joints(#[entities] Vec); #[derive(Component, Serialize, Deserialize, MapEntities)] -#[relationship(relationship_target = Snaps)] -pub struct SnapOf(#[entities] pub Entity); +#[relationship(relationship_target = JointSnaps)] +pub struct JointSnapOf(#[entities] pub Entity); #[derive(Component, Serialize, Deserialize, MapEntities)] -#[relationship_target(relationship = SnapOf)] -pub struct Snaps(#[entities] Vec); +#[relationship_target(relationship = JointSnapOf)] +pub struct JointSnaps(#[entities] Vec); #[derive(Serialize, Deserialize)] pub struct JointId(pub String); @@ -45,4 +45,4 @@ impl JointId { } #[derive(Serialize, Deserialize, Component, MapEntities)] -pub struct SnapOfJoint(#[entities] pub Entity); +pub struct JointSnapFor(#[entities] pub Entity); diff --git a/crates/unified/src/client/key_input.rs b/crates/unified/src/client/key_input.rs index 07baa977ce5972004de5674786af4a411b942019..8a866911af75108de5c39b4054d7b8e0aee4dd6b 100644 --- a/crates/unified/src/client/key_input.rs +++ b/crates/unified/src/client/key_input.rs @@ -1,4 +1,4 @@ -use crate::attachment::{Joint, SnapOfJoint}; +use crate::attachment::{Joint, JointSnapFor}; use crate::ecs::ThrustEvent; use bevy::color::palettes::css::{FUCHSIA, GREEN}; use bevy::dev_tools::picking_debug::DebugPickingMode; @@ -12,7 +12,6 @@ use bevy::{ ecs::{event::EventWriter, system::Res}, input::{ButtonInput, keyboard::KeyCode}, }; -use bevy::log::debug; use bevy_rapier2d::render::DebugRenderContext; pub fn key_input_plugin(app: &mut App) { @@ -70,7 +69,7 @@ fn directional_keys(keys: Res>, mut thrust_event: EventWrit fn draw_attachment_debug( joints: Query<&GlobalTransform, With>, - snaps: Query<&GlobalTransform, With>, + snaps: Query<&GlobalTransform, With>, mut gizmos: Gizmos, state: ResMut, ) { diff --git a/crates/unified/src/server/part.rs b/crates/unified/src/server/part.rs index 5e4d83fb06d5a8fe51e0f806ba318e8636a0c2b1..86dd205c2749cc0c75bb33971fed5b6104e905b3 100644 --- a/crates/unified/src/server/part.rs +++ b/crates/unified/src/server/part.rs @@ -1,10 +1,7 @@ -use bevy::ecs::spawn::SpawnRelatedBundle; use bevy::prelude::Component; use bevy::prelude::*; use bevy_rapier2d::prelude::{AdditionalMassProperties, Collider}; -use bevy_replicon::prelude::Replicated; -use crate::attachment::{Joint, JointId, JointOf, SnapOf, SnapOfJoint}; -use crate::config::part::{JointConfig, PartConfig}; +use crate::config::part::PartConfig; use crate::ecs::{Part, PartHandle}; pub fn part_management_plugin(app: &mut App) { @@ -28,7 +25,6 @@ pub fn handle_ready_parts(loading_parts: Query<(Entity, &SpawnPartRequest)>, mut commands.entity(entity) .insert(calculate_bundle(strong_config, &loading_part.0)) .remove::(); - spawn_joints(strong_config, entity, commands.reborrow()); } } } @@ -46,43 +42,5 @@ fn calculate_bundle(config: &PartConfig, handle: &Handle) -> impl Bu part_handle, collider, additional_mass_properties, - Replicated ) -} -fn spawn_joint_bundle(joint: &JointConfig, part: &PartConfig, parent: &Entity) -> impl Bundle { - let j_comp = Joint { - id: JointId::from_part_and_joint_id(part.part.name.clone(), joint.id.clone()), - transform: joint.target.into(), - }; - let joint_transform: Transform = j_comp.transform; - let joint_of = JointOf(*parent); - let child_of = ChildOf(*parent); - - ( - j_comp, - joint_transform, - joint_of, - child_of, - Replicated - ) -} -fn spawn_snap_bundle(joint: &JointConfig, parent: &Entity, p_joint: &Entity) -> impl Bundle { - let snap_transform: Transform = joint.snap.into(); - let snap_for = SnapOf(*parent); - let snap_of = SnapOfJoint(*p_joint); - let child_of = ChildOf(*parent); - - ( - snap_transform, - snap_for, - snap_of, - child_of, - Replicated - ) -} -fn spawn_joints(config: &PartConfig, parent: Entity, mut commands: Commands) { - for joint in &config.joints { - let joint_id = commands.spawn(spawn_joint_bundle(joint, config, &parent)).id(); - commands.spawn(spawn_snap_bundle(joint, &parent, &joint_id)); - } } \ No newline at end of file diff --git a/crates/unified/src/shared_plugins.rs b/crates/unified/src/shared_plugins.rs index 0ee4f33a09b89d955ab0564eb36c743162930cd4..f6b7a0b38e4ae1fc3a428c16723f01dba0c49599 100644 --- a/crates/unified/src/shared_plugins.rs +++ b/crates/unified/src/shared_plugins.rs @@ -1,4 +1,4 @@ -use crate::attachment::{Joint, JointOf, SnapOfJoint, PartInShip, Peer, Ship}; +use crate::attachment::{Joint, JointOf, JointSnapFor, PartInShip, Peer, Ship}; use crate::config::planet::Planet; use crate::ecs::{DragRequestEvent, Part, Particles, Player, ThrustEvent}; use bevy::app::{App, PluginGroup, PluginGroupBuilder}; @@ -34,7 +34,7 @@ pub fn register_everything(app: &mut App) { .replicate::() .replicate::() .replicate::() - .replicate::(); + .replicate::(); } fn physics_setup_plugin(app: &mut App) {