From 4866ce16200c58a181e7d4644f09a9ea141028b9 Mon Sep 17 00:00:00 2001 From: GitGhillie Date: Tue, 10 Oct 2023 22:05:41 +0200 Subject: [PATCH] refactor(examples): Remove RigidBodyProxy (not necessary anymore) (#16) --- examples/advanced/core/physics/mod.rs | 1 - .../core/physics/physics_replace_proxies.rs | 32 ----------------- examples/advanced/core/save_load/saving.rs | 3 +- examples/basic/core/physics/mod.rs | 1 - .../core/physics/physics_replace_proxies.rs | 34 ------------------- 5 files changed, 1 insertion(+), 70 deletions(-) diff --git a/examples/advanced/core/physics/mod.rs b/examples/advanced/core/physics/mod.rs index 58f8bc7..0c41c7f 100644 --- a/examples/advanced/core/physics/mod.rs +++ b/examples/advanced/core/physics/mod.rs @@ -17,7 +17,6 @@ impl Plugin for PhysicsPlugin { app .register_type::() .register_type::() - .register_type::() // find a way to make serde's stuff serializable // .register_type::() diff --git a/examples/advanced/core/physics/physics_replace_proxies.rs b/examples/advanced/core/physics/physics_replace_proxies.rs index 85bce84..4b29629 100644 --- a/examples/advanced/core/physics/physics_replace_proxies.rs +++ b/examples/advanced/core/physics/physics_replace_proxies.rs @@ -1,21 +1,10 @@ use bevy::prelude::*; // use bevy::render::primitives::Aabb; use bevy_rapier3d::geometry::Collider as RapierCollider; -use bevy_rapier3d::dynamics::RigidBody as RapierRigidBody; use bevy_rapier3d::prelude::{ComputedColliderShape, ActiveEvents, ActiveCollisionTypes}; use super::utils::*; -#[derive(Component, Reflect, Default, Debug, )] -#[reflect(Component)] -pub enum RigidBodyProxy{ - #[default] - Dynamic, - Fixed, - Position, - Velocity -} - #[derive(Component, Reflect, Default, Debug, )] #[reflect(Component)] pub enum Collider { @@ -40,8 +29,6 @@ pub enum AutoAABBCollider { pub fn physics_replace_proxies ( meshes: Res>, mesh_handles: Query<&Handle>, - // rigidbodies - proxy_rigidbodies: Query<(Entity, &RigidBodyProxy,), (Without, Added)>, mut proxy_colliders: Query<(Entity, &Collider, &Name, &mut Visibility), (Without, Added)>, // needed for tri meshes children: Query<&Children>, @@ -96,26 +83,7 @@ pub fn physics_replace_proxies ( // break; // RapierCollider::convex_hull(points) } - } } } - // rigidbodies - for (entity, proxy_rigidbody) in proxy_rigidbodies.iter() { - info!("Generation rigid body from Proxy rigid body !! {:?}", proxy_rigidbody ); - let rigid_body:RapierRigidBody = match proxy_rigidbody { - RigidBodyProxy::Dynamic => RapierRigidBody::Dynamic, - RigidBodyProxy::Fixed=> RapierRigidBody::Fixed, - RigidBodyProxy::Position => RapierRigidBody::KinematicPositionBased, - RigidBodyProxy::Velocity => RapierRigidBody::KinematicVelocityBased, - }; - commands.entity(entity) - .insert(rigid_body) - // IMPORTANT ! this allows collisions between dynamic & static(fixed) entities - // see https://rapier.rs/docs/user_guides/bevy_plugin/colliders#active-collision-types - .insert(ActiveCollisionTypes::default() | ActiveCollisionTypes::KINEMATIC_STATIC | ActiveCollisionTypes::STATIC_STATIC | ActiveCollisionTypes::DYNAMIC_STATIC) - .insert(ActiveEvents::COLLISION_EVENTS) - ; - } - } diff --git a/examples/advanced/core/save_load/saving.rs b/examples/advanced/core/save_load/saving.rs index 1e78322..928bf68 100644 --- a/examples/advanced/core/save_load/saving.rs +++ b/examples/advanced/core/save_load/saving.rs @@ -7,7 +7,7 @@ use bevy_rapier3d::prelude::RigidBody; use std::io::Write; use std::fs::File; -use crate::core::physics::{Collider, RigidBodyProxy}; +use crate::core::physics::Collider; use crate::game::{Pickable, Player}; use super::Saveable; @@ -63,7 +63,6 @@ pub fn save_game( .deny::() .deny::() - .deny::() .deny::() // camera stuff diff --git a/examples/basic/core/physics/mod.rs b/examples/basic/core/physics/mod.rs index b621958..0f1b15a 100644 --- a/examples/basic/core/physics/mod.rs +++ b/examples/basic/core/physics/mod.rs @@ -14,7 +14,6 @@ impl Plugin for PhysicsPlugin { app .register_type::() .register_type::() - .register_type::() // find a way to make serde's stuff serializable // .register_type::() diff --git a/examples/basic/core/physics/physics_replace_proxies.rs b/examples/basic/core/physics/physics_replace_proxies.rs index 5d04aaa..3f13ae8 100644 --- a/examples/basic/core/physics/physics_replace_proxies.rs +++ b/examples/basic/core/physics/physics_replace_proxies.rs @@ -1,21 +1,10 @@ use bevy::prelude::*; // use bevy::render::primitives::Aabb; use bevy_rapier3d::geometry::Collider as RapierCollider; -use bevy_rapier3d::dynamics::RigidBody as RapierRigidBody; use bevy_rapier3d::prelude::{ComputedColliderShape, ActiveEvents, ActiveCollisionTypes}; use super::utils::*; -#[derive(Component, Reflect, Default, Debug, )] -#[reflect(Component)] -pub enum RigidBodyProxy{ - #[default] - Dynamic, - Fixed, - Position, - Velocity -} - #[derive(Component, Reflect, Default, Debug, )] #[reflect(Component)] pub enum Collider { @@ -26,7 +15,6 @@ pub enum Collider { Mesh, } - #[derive(Component, Reflect, Default, Debug, )] #[reflect(Component)] pub enum AutoAABBCollider { @@ -40,8 +28,6 @@ pub enum AutoAABBCollider { pub fn physics_replace_proxies ( meshes: Res>, mesh_handles: Query<&Handle>, - // rigidbodies - proxy_rigidbodies: Query<(Entity, &RigidBodyProxy,), (Without, Added)>, mut proxy_colliders: Query<(Entity, &Collider, &Name, &mut Visibility), (Without, Added)>, // needed for tri meshes children: Query<&Children>, @@ -96,27 +82,7 @@ pub fn physics_replace_proxies ( // break; // RapierCollider::convex_hull(points) } - } } } - // rigidbodies - for (entity, proxy_rigidbody) in proxy_rigidbodies.iter() { - info!("Proxy rigid body !! {:?}", proxy_rigidbody ); - let rigid_body:RapierRigidBody = match proxy_rigidbody { - RigidBodyProxy::Dynamic => RapierRigidBody::Dynamic, - RigidBodyProxy::Fixed=> RapierRigidBody::Fixed, - RigidBodyProxy::Position => RapierRigidBody::KinematicPositionBased, - RigidBodyProxy::Velocity => RapierRigidBody::KinematicVelocityBased, - }; - println!("inserting rigidbody {:?}", rigid_body); - commands.entity(entity) - .insert(rigid_body) - // IMPORTANT ! this allows collisions between dynamic & static(fixed) entities - // see https://rapier.rs/docs/user_guides/bevy_plugin/colliders#active-collision-types - .insert(ActiveCollisionTypes::default() | ActiveCollisionTypes::KINEMATIC_STATIC | ActiveCollisionTypes::STATIC_STATIC | ActiveCollisionTypes::DYNAMIC_STATIC) - .insert(ActiveEvents::COLLISION_EVENTS) - ; - } - }