diff --git a/assets/sfx/abilities/gun.ogg b/assets/sfx/abilities/gun.ogg new file mode 100644 index 0000000..b9ed1e1 Binary files /dev/null and b/assets/sfx/abilities/gun.ogg differ diff --git a/src/aim.rs b/src/aim.rs index 071eb5d..03d3554 100644 --- a/src/aim.rs +++ b/src/aim.rs @@ -5,11 +5,12 @@ use crate::{ }; use bevy::prelude::*; use bevy_sprite3d::{Sprite3dBuilder, Sprite3dParams}; +use ops::sin; use std::f32::consts::PI; #[derive(Resource, Reflect)] #[reflect(Resource)] -struct AimState { +pub struct AimState { pub target: Option, pub range: f32, pub angle: f32, @@ -37,7 +38,7 @@ enum MarkerEvent { pub fn plugin(app: &mut App) { app.init_resource::(); - app.add_systems(Update, update); + app.add_systems(Update, (update, move_marker)); app.add_observer(marker_event); } @@ -63,7 +64,7 @@ fn marker_event( Name::new("aim-marker"), Billboard, Marker, - Transform::from_translation(Vec3::new(0., 3., 0.)), + Transform::default(), Sprite3dBuilder { image: selector, pixels_per_metre: 30., @@ -129,3 +130,9 @@ fn update( state.target = new_target; } } + +fn move_marker(mut query: Query<&mut Transform, With>, time: Res