improve audio a bit
This commit is contained in:
parent
587b902e79
commit
09e244d748
8 changed files with 30 additions and 12 deletions
1
Cargo.lock
generated
1
Cargo.lock
generated
|
|
@ -1713,6 +1713,7 @@ dependencies = [
|
|||
"building",
|
||||
"combat",
|
||||
"combat_damagers",
|
||||
"rand",
|
||||
"resources",
|
||||
"state",
|
||||
"upgrade",
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
(
|
||||
map: {
|
||||
MouseButton(Middle): [
|
||||
CameraOrbitEnable,
|
||||
],
|
||||
KeyCode(ShiftLeft): [
|
||||
MultiPlaceTower,
|
||||
],
|
||||
KeyCode(F1): [
|
||||
ToggleDebugUI,
|
||||
],
|
||||
MouseButton(Right): [
|
||||
PlaceTower,
|
||||
],
|
||||
MouseButton(Left): [
|
||||
CameraPanEnable,
|
||||
],
|
||||
MouseButton(Middle): [
|
||||
CameraOrbitEnable,
|
||||
],
|
||||
MouseScroll: [
|
||||
CameraZoom,
|
||||
],
|
||||
KeyCode(F1): [
|
||||
ToggleDebugUI,
|
||||
MouseButton(Left): [
|
||||
CameraPanEnable,
|
||||
],
|
||||
MouseMovementX: [
|
||||
CameraYaw,
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -6,6 +6,7 @@ edition = "2024"
|
|||
[dependencies]
|
||||
bevy = { workspace = true }
|
||||
avian3d = { workspace = true }
|
||||
rand = { workspace = true }
|
||||
|
||||
state = { path = "../state" }
|
||||
combat = { path = "../combat" }
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ use combat::{
|
|||
projectiles::{Fire, Projectile, ProjectileLauncher, get_launch_vector},
|
||||
};
|
||||
use combat_damagers::ContactDamage;
|
||||
use rand::{Rng, thread_rng};
|
||||
use resources::{Cost, Quantity};
|
||||
use upgrade::{Upgrade, UpgradeApplied, UpgradeTree};
|
||||
|
||||
|
|
@ -203,7 +204,7 @@ fn register(
|
|||
info_entity: info,
|
||||
death_audio: assets.load("sounds/revthump2.ogg"),
|
||||
shoot_audio: assets.load("sounds/gust2.ogg"),
|
||||
explosion_audio: assets.load("sounds/boom1.ogg"),
|
||||
explosion_audio: assets.load("sounds/gust1.ogg"),
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -266,7 +267,6 @@ fn on_fire(
|
|||
Transform::from_translation(trigger.event().spawn_pos),
|
||||
Projectile::from(&trigger.event().launcher),
|
||||
Projectile::collision_layers(trigger.event().team),
|
||||
DeathAudio(res.explosion_audio.clone()),
|
||||
SuncannonProjectile(suncannon.clone()),
|
||||
LinearVelocity(v),
|
||||
res.projectile_collider.clone(),
|
||||
|
|
@ -309,6 +309,16 @@ fn on_projectile_explode(
|
|||
skip_invulnerability: true,
|
||||
});
|
||||
}
|
||||
commands.spawn((
|
||||
AudioPlayer(res.explosion_audio.clone()),
|
||||
PlaybackSettings {
|
||||
mode: bevy::audio::PlaybackMode::Despawn,
|
||||
speed: thread_rng().gen_range(0.8..1.2),
|
||||
spatial: false,
|
||||
..default()
|
||||
},
|
||||
Transform::from_translation(gtf.translation()),
|
||||
));
|
||||
for pellet in 0..projectile.0.pellet_count {
|
||||
let angle = 2. * PI / (projectile.0.pellet_count as f32) * pellet as f32;
|
||||
let v = Vec3::new(angle.sin(), 0., angle.cos()) * projectile.0.pellet_speed;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
use bevy::{audio::Volume, prelude::*};
|
||||
use rand::{Rng, thread_rng};
|
||||
use state::AppState;
|
||||
use state::{AppState, CoreState};
|
||||
|
||||
pub struct MusicPlugin;
|
||||
|
||||
|
|
@ -13,7 +13,8 @@ impl Plugin for MusicPlugin {
|
|||
app.add_systems(Startup, init)
|
||||
.add_systems(Update, update_track)
|
||||
.add_systems(OnEnter(AppState::Menu), play_menu_music)
|
||||
.add_systems(OnEnter(AppState::Game), play_game_music);
|
||||
.add_systems(OnEnter(AppState::Game), play_game_music)
|
||||
.add_systems(OnEnter(CoreState::Dead), kill_music);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -41,6 +42,11 @@ fn init(mut commands: Commands, assets: Res<AssetServer>) {
|
|||
});
|
||||
}
|
||||
|
||||
fn kill_music(player_query: Single<Entity>, mut commands: Commands) {
|
||||
let player_entity = player_query.into_inner();
|
||||
commands.entity(player_entity).remove::<AudioSink>();
|
||||
}
|
||||
|
||||
fn play_menu_music(
|
||||
player_query: Single<(Entity, &mut BackgroundMusicPlayer)>,
|
||||
mut commands: Commands,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue