diff --git a/src/game/actor.rs b/src/game/actor.rs index 62eaa40..5a51e8f 100644 --- a/src/game/actor.rs +++ b/src/game/actor.rs @@ -30,7 +30,6 @@ use crate::game::actor::movement::MovementController; use crate::game::actor::movement::OldMovementController; use crate::game::audio::music::Beat; use crate::game::card::deck::Deck; -use crate::game::combat::death::DespawnOnDeath; use crate::game::combat::hit::Hurtbox; use crate::game::sprite::SpriteAnimation; use crate::util::prelude::*; @@ -142,8 +141,7 @@ impl EntityCommand for Actor { AttackController::default(), self.health, Hurtbox, - // TODO: Death animation instead, despawn when it's finished. - DespawnOnDeath, + // TODO: Death animation. ), // Inventory: (Level::default(), Xp::default(), self.xp_reward, self.deck), diff --git a/src/game/actor/enemy.rs b/src/game/actor/enemy.rs index 42d46ea..da5c3e1 100644 --- a/src/game/actor/enemy.rs +++ b/src/game/actor/enemy.rs @@ -5,6 +5,7 @@ use bevy::prelude::*; use crate::game::actor::facing::FacePlayer; use crate::game::actor::faction::Faction; use crate::game::actor::ActorConfig; +use crate::game::combat::death::DespawnOnDeath; use crate::game::GameLayer; use crate::game::GameRoot; use crate::util::prelude::*; @@ -41,6 +42,8 @@ pub fn enemy(key: impl Into) -> impl EntityCommand { Faction::Enemy, CollisionLayers::new(GameLayer::Enemy, LayerMask::ALL), FacePlayer, + // TODO: Despawn when death animation is finished, instead. + DespawnOnDeath, )) .set_parent(parent); } diff --git a/src/game/audio/music.rs b/src/game/audio/music.rs index 60eb1e0..17c6971 100644 --- a/src/game/audio/music.rs +++ b/src/game/audio/music.rs @@ -5,6 +5,7 @@ use pyri_state::prelude::*; use crate::core::pause::Pause; use crate::core::UpdateSet; use crate::game::audio::AudioConfig; +use crate::screen::playing::PlayingAssets; use crate::screen::Screen; use crate::util::prelude::*; @@ -36,17 +37,22 @@ pub fn stop_music( mut audio_instances: ResMut>, ) { let music = r!(audio_instances.get_mut(&music_handle.0)); - music.seek_to(0.0); - music.pause(AudioTween::default()); + music.stop(AudioTween::default()); } pub fn start_music( - music_handle: Res, - mut audio_instances: ResMut>, + config: ConfigRef, + audio: Res