From f3358b95114c90cd070f4cbd6eac2e50a61c14e3 Mon Sep 17 00:00:00 2001 From: extrawurst Date: Thu, 27 Mar 2025 13:44:13 +0800 Subject: [PATCH] cleanup --- src/main.rs | 2 ++ src/shooting.rs | 32 ++++------------------------ src/utils/mod.rs | 1 + src/utils/sprite_3d_animation.rs | 36 ++++++++++++++++++++++++++++++++ 4 files changed, 43 insertions(+), 28 deletions(-) create mode 100644 src/utils/sprite_3d_animation.rs diff --git a/src/main.rs b/src/main.rs index 20af4b7..93b3d9c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -32,6 +32,7 @@ use bevy_trenchbroom::prelude::*; use control::controller::CharacterControllerPlugin; use loading_assets::AudioAssets; use utils::billboards; +use utils::sprite_3d_animation; use utils::squish_animation; #[derive(Resource, Reflect, Debug)] @@ -112,6 +113,7 @@ fn main() { app.add_plugins(backpack::plugin); app.add_plugins(loading_assets::LoadingPlugin); app.add_plugins(loading_map::plugin); + app.add_plugins(sprite_3d_animation::plugin); app.init_state::(); diff --git a/src/shooting.rs b/src/shooting.rs index bc1dfb2..7e7675a 100644 --- a/src/shooting.rs +++ b/src/shooting.rs @@ -8,13 +8,14 @@ use crate::{ player::{Player, PlayerRig}, sounds::PlaySound, tb_entities::EnemySpawn, + utils::sprite_3d_animation::AnimationTimer, }; use avian3d::prelude::{ Collider, CollisionLayers, CollisionStarted, LayerMask, PhysicsLayer, Sensor, }; use bevy::{pbr::NotShadowCaster, prelude::*}; use bevy_polyline::prelude::*; -use bevy_sprite3d::{Sprite3d, Sprite3dBuilder, Sprite3dParams}; +use bevy_sprite3d::{Sprite3dBuilder, Sprite3dParams}; use std::f32::consts::PI; #[derive(Component)] @@ -36,16 +37,11 @@ struct ShotAssets { layout: Handle, } -//TODO: give its own plugin -#[derive(Component, Deref, DerefMut)] -struct AnimationTimer(Timer); - pub fn plugin(app: &mut App) { app.add_systems(OnEnter(GameState::Playing), setup); app.add_systems( Update, - (update, shot_collision, enemy_hit, timeout, animate_sprite) - .run_if(in_state(GameState::Playing)), + (update, shot_collision, enemy_hit, timeout).run_if(in_state(GameState::Playing)), ); app.add_observer(on_trigger_state); } @@ -155,26 +151,6 @@ fn enemy_hit( } } -fn animate_sprite( - mut commands: Commands, - time: Res