give collectibales physics layer
this keeps keys, dropped-hedz and cash from "colliding" with the camera arm
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
GameState, billboards::Billboard, global_observer, loading_assets::GameAssets, player::Player,
|
GameState, billboards::Billboard, global_observer, loading_assets::GameAssets,
|
||||||
sounds::PlaySound, squish_animation::SquishAnimation,
|
physics_layers::GameLayer, player::Player, sounds::PlaySound,
|
||||||
|
squish_animation::SquishAnimation,
|
||||||
};
|
};
|
||||||
use avian3d::prelude::*;
|
use avian3d::prelude::*;
|
||||||
use bevy::prelude::*;
|
use bevy::prelude::*;
|
||||||
@@ -40,6 +41,7 @@ fn on_head_drop(trigger: Trigger<HeadDrops>, mut commands: Commands, assets: Res
|
|||||||
ExternalImpulse::new(spawn_dir * 180.).with_persistence(false),
|
ExternalImpulse::new(spawn_dir * 180.).with_persistence(false),
|
||||||
LockedAxes::ROTATION_LOCKED,
|
LockedAxes::ROTATION_LOCKED,
|
||||||
RigidBody::Dynamic,
|
RigidBody::Dynamic,
|
||||||
|
CollisionLayers::new(LayerMask(GameLayer::Collectibles.to_bits()), LayerMask::ALL),
|
||||||
CollisionEventsEnabled,
|
CollisionEventsEnabled,
|
||||||
Restitution::new(0.6),
|
Restitution::new(0.6),
|
||||||
))
|
))
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
GameState, billboards::Billboard, global_observer, loading_assets::GameAssets, player::Player,
|
GameState, billboards::Billboard, global_observer, loading_assets::GameAssets,
|
||||||
sounds::PlaySound, squish_animation::SquishAnimation,
|
physics_layers::GameLayer, player::Player, sounds::PlaySound,
|
||||||
|
squish_animation::SquishAnimation,
|
||||||
};
|
};
|
||||||
use avian3d::prelude::*;
|
use avian3d::prelude::*;
|
||||||
use bevy::prelude::*;
|
use bevy::prelude::*;
|
||||||
@@ -37,6 +38,7 @@ fn on_spawn_key(trigger: Trigger<KeySpawn>, mut commands: Commands, assets: Res<
|
|||||||
ExternalImpulse::new(spawn_dir * 180.).with_persistence(false),
|
ExternalImpulse::new(spawn_dir * 180.).with_persistence(false),
|
||||||
LockedAxes::ROTATION_LOCKED,
|
LockedAxes::ROTATION_LOCKED,
|
||||||
RigidBody::Dynamic,
|
RigidBody::Dynamic,
|
||||||
|
CollisionLayers::new(LayerMask(GameLayer::Collectibles.to_bits()), LayerMask::ALL),
|
||||||
CollisionEventsEnabled,
|
CollisionEventsEnabled,
|
||||||
Restitution::new(0.6),
|
Restitution::new(0.6),
|
||||||
Children::spawn(Spawn((
|
Children::spawn(Spawn((
|
||||||
|
|||||||
@@ -8,4 +8,5 @@ pub enum GameLayer {
|
|||||||
Player,
|
Player,
|
||||||
Npc,
|
Npc,
|
||||||
Projectile,
|
Projectile,
|
||||||
|
Collectibles,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -168,6 +168,7 @@ impl CashSpawn {
|
|||||||
SceneRoot(mesh),
|
SceneRoot(mesh),
|
||||||
Cash,
|
Cash,
|
||||||
Collider::cuboid(2., 3.0, 2.),
|
Collider::cuboid(2., 3.0, 2.),
|
||||||
|
CollisionLayers::new(LayerMask(GameLayer::Collectibles.to_bits()), LayerMask::ALL),
|
||||||
CollisionEventsEnabled,
|
CollisionEventsEnabled,
|
||||||
Sensor,
|
Sensor,
|
||||||
));
|
));
|
||||||
|
|||||||
Reference in New Issue
Block a user