use happy_feet as kinematic character controller (#42)
This commit is contained in:
@@ -83,7 +83,7 @@ fn on_trigger_missile(
|
||||
let asset = gltf_assets.get(&mesh).unwrap();
|
||||
|
||||
commands.spawn((
|
||||
Name::new("projectile-missle"),
|
||||
Name::new("projectile-missile"),
|
||||
CurverProjectile {
|
||||
time: time.elapsed_secs(),
|
||||
damage: head.damage,
|
||||
@@ -153,6 +153,7 @@ fn shot_collision(
|
||||
mut commands: Commands,
|
||||
mut collision_event_reader: EventReader<CollisionStarted>,
|
||||
query_shot: Query<&Transform, With<CurverProjectile>>,
|
||||
sensors: Query<(), With<Sensor>>,
|
||||
assets: Res<ShotAssets>,
|
||||
mut sprite_params: Sprite3dParams,
|
||||
) {
|
||||
@@ -161,6 +162,10 @@ fn shot_collision(
|
||||
continue;
|
||||
}
|
||||
|
||||
if sensors.contains(*e1) && sensors.contains(*e2) {
|
||||
continue;
|
||||
}
|
||||
|
||||
let shot_entity = if query_shot.contains(*e1) { *e1 } else { *e2 };
|
||||
|
||||
let Ok(shot_pos) = query_shot.get(shot_entity).map(|t| t.translation) else {
|
||||
|
||||
@@ -151,6 +151,7 @@ fn shot_collision(
|
||||
mut commands: Commands,
|
||||
mut collision_event_reader: EventReader<CollisionStarted>,
|
||||
query_shot: Query<(&GunProjectile, &Transform)>,
|
||||
sensors: Query<(), With<Sensor>>,
|
||||
assets: Res<ShotAssets>,
|
||||
mut sprite_params: Sprite3dParams,
|
||||
) {
|
||||
@@ -159,6 +160,10 @@ fn shot_collision(
|
||||
continue;
|
||||
}
|
||||
|
||||
if sensors.contains(*e1) && sensors.contains(*e2) {
|
||||
continue;
|
||||
}
|
||||
|
||||
let shot_entity = if query_shot.contains(*e1) { *e1 } else { *e2 };
|
||||
|
||||
if let Ok(mut entity) = commands.get_entity(shot_entity) {
|
||||
|
||||
@@ -82,7 +82,7 @@ fn on_trigger_missile(
|
||||
let asset = gltf_assets.get(&mesh).unwrap();
|
||||
|
||||
commands.spawn((
|
||||
Name::new("projectile-missle"),
|
||||
Name::new("projectile-missile"),
|
||||
MissileProjectile {
|
||||
time: time.elapsed_secs(),
|
||||
damage: head.damage,
|
||||
@@ -143,6 +143,7 @@ fn shot_collision(
|
||||
mut commands: Commands,
|
||||
mut collision_event_reader: EventReader<CollisionStarted>,
|
||||
query_shot: Query<(&MissileProjectile, &Transform)>,
|
||||
sensors: Query<(), With<Sensor>>,
|
||||
assets: Res<ShotAssets>,
|
||||
mut sprite_params: Sprite3dParams,
|
||||
) {
|
||||
@@ -151,6 +152,10 @@ fn shot_collision(
|
||||
continue;
|
||||
}
|
||||
|
||||
if sensors.contains(*e1) && sensors.contains(*e2) {
|
||||
continue;
|
||||
}
|
||||
|
||||
let shot_entity = if query_shot.contains(*e1) { *e1 } else { *e2 };
|
||||
|
||||
let Ok((shot_pos, damage)) = query_shot
|
||||
|
||||
@@ -100,6 +100,7 @@ fn on_trigger_thrown(
|
||||
Mass(0.01),
|
||||
LinearVelocity(vel),
|
||||
Visibility::default(),
|
||||
Sensor,
|
||||
))
|
||||
.with_child((
|
||||
AutoRotation(Quat::from_rotation_x(0.4) * Quat::from_rotation_z(0.3)),
|
||||
@@ -111,6 +112,7 @@ fn shot_collision(
|
||||
mut commands: Commands,
|
||||
mut collision_event_reader: EventReader<CollisionStarted>,
|
||||
query_shot: Query<(&ThrownProjectile, &Transform)>,
|
||||
sensors: Query<(), With<Sensor>>,
|
||||
assets: Res<ShotAssets>,
|
||||
mut sprite_params: Sprite3dParams,
|
||||
) {
|
||||
@@ -119,6 +121,10 @@ fn shot_collision(
|
||||
continue;
|
||||
}
|
||||
|
||||
if sensors.contains(*e1) && sensors.contains(*e2) {
|
||||
continue;
|
||||
}
|
||||
|
||||
let shot_entity = if query_shot.contains(*e1) { *e1 } else { *e2 };
|
||||
|
||||
let Ok((shot_pos, animation, damage)) =
|
||||
|
||||
Reference in New Issue
Block a user