Simple ai shooting PoC (#23)
This commit is contained in:
@@ -1,13 +1,7 @@
|
||||
use super::{Projectile, TriggerGun};
|
||||
use crate::{
|
||||
GameState,
|
||||
aim::AimState,
|
||||
billboards::Billboard,
|
||||
loading_assets::GameAssets,
|
||||
physics_layers::GameLayer,
|
||||
player::{Player, PlayerRig},
|
||||
sounds::PlaySound,
|
||||
utils::sprite_3d_animation::AnimationTimer,
|
||||
GameState, billboards::Billboard, loading_assets::GameAssets, physics_layers::GameLayer,
|
||||
sounds::PlaySound, utils::sprite_3d_animation::AnimationTimer,
|
||||
};
|
||||
use avian3d::prelude::{
|
||||
Collider, CollisionLayers, CollisionStarted, LayerMask, PhysicsLayer, Sensor,
|
||||
@@ -52,8 +46,7 @@ fn setup(mut commands: Commands, assets: Res<GameAssets>, mut sprite_params: Spr
|
||||
fn on_trigger_state(
|
||||
trigger: Trigger<TriggerGun>,
|
||||
mut commands: Commands,
|
||||
aim: Res<AimState>,
|
||||
target_transform: Query<&Transform, (Without<Player>, Without<PlayerRig>)>,
|
||||
query_transform: Query<&Transform>,
|
||||
time: Res<Time>,
|
||||
mut polyline_materials: ResMut<Assets<PolylineMaterial>>,
|
||||
mut polylines: ResMut<Assets<Polyline>>,
|
||||
@@ -62,8 +55,8 @@ fn on_trigger_state(
|
||||
|
||||
commands.trigger(PlaySound::Gun);
|
||||
|
||||
let rotation = if let Some(target) = aim.target {
|
||||
let t = target_transform
|
||||
let rotation = if let Some(target) = state.target {
|
||||
let t = query_transform
|
||||
.get(target)
|
||||
.expect("target must have transform");
|
||||
Transform::from_translation(state.pos)
|
||||
@@ -86,7 +79,7 @@ fn on_trigger_state(
|
||||
Collider::capsule_endpoints(0.5, Vec3::new(0., 0., 0.), Vec3::new(0., 0., -3.)),
|
||||
CollisionLayers::new(
|
||||
LayerMask(GameLayer::Projectile.to_bits()),
|
||||
LayerMask(GameLayer::Npc.to_bits() | GameLayer::Level.to_bits()),
|
||||
LayerMask(state.target_layer.to_bits() | GameLayer::Level.to_bits()),
|
||||
),
|
||||
Sensor,
|
||||
Visibility::default(),
|
||||
|
||||
Reference in New Issue
Block a user