map: use collisionlayers
This commit is contained in:
parent
1985db2d17
commit
06954b38ea
12
src/map.rs
12
src/map.rs
|
@ -265,6 +265,10 @@ fn add_island(
|
||||||
let grass_mesh = meshes.add(Mesh::from(grass_box));
|
let grass_mesh = meshes.add(Mesh::from(grass_box));
|
||||||
children.spawn()
|
children.spawn()
|
||||||
.insert(RigidBody::Static)
|
.insert(RigidBody::Static)
|
||||||
|
.insert(CollisionLayers::none()
|
||||||
|
.with_group(Layer::Map)
|
||||||
|
.with_masks(&[Layer::Player])
|
||||||
|
)
|
||||||
.insert(CollisionShape::Cuboid {
|
.insert(CollisionShape::Cuboid {
|
||||||
border_radius: None,
|
border_radius: None,
|
||||||
half_extends: ground.half_extends(),
|
half_extends: ground.half_extends(),
|
||||||
|
@ -304,6 +308,10 @@ fn add_bridge(
|
||||||
})
|
})
|
||||||
.insert(bridge)
|
.insert(bridge)
|
||||||
.insert(RigidBody::Static)
|
.insert(RigidBody::Static)
|
||||||
|
.insert(CollisionLayers::none()
|
||||||
|
.with_group(Layer::Map)
|
||||||
|
.with_masks(&[Layer::Player])
|
||||||
|
)
|
||||||
.insert(CollisionShape::Cuboid {
|
.insert(CollisionShape::Cuboid {
|
||||||
border_radius: None,
|
border_radius: None,
|
||||||
half_extends: ground.half_extends(),
|
half_extends: ground.half_extends(),
|
||||||
|
@ -320,10 +328,12 @@ pub fn collide(mut events: EventReader<CollisionEvent>, mut contacted: Query<&mu
|
||||||
.iter()
|
.iter()
|
||||||
// We care about when the entities "start" to collide
|
// We care about when the entities "start" to collide
|
||||||
.filter_map(|event| {
|
.filter_map(|event| {
|
||||||
let (entity_1, _entity_2) = event.rigid_body_entities();
|
let (entity_1, entity_2) = event.rigid_body_entities();
|
||||||
let (layers_1, layers_2) = event.collision_layers();
|
let (layers_1, layers_2) = event.collision_layers();
|
||||||
if ! is_map(layers_1) && is_map(layers_2) {
|
if ! is_map(layers_1) && is_map(layers_2) {
|
||||||
Some((event, entity_1))
|
Some((event, entity_1))
|
||||||
|
} else if is_map(layers_1) && ! is_map(layers_2) {
|
||||||
|
Some((event, entity_2))
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue