From 7bc6995e18390ce85ae68dc8edb87ccd1ccdc20a Mon Sep 17 00:00:00 2001 From: extrawurst Date: Sun, 9 Mar 2025 20:22:35 +0100 Subject: [PATCH] gate sound volume down on music --- assets/sfx/effects/gate.ogg | Bin 0 -> 22751 bytes assets/sfx/effects/key_collect.ogg | Bin 0 -> 18161 bytes src/gates.rs | 13 +++++++++++++ src/main.rs | 11 ++++++++++- 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 assets/sfx/effects/gate.ogg create mode 100644 assets/sfx/effects/key_collect.ogg diff --git a/assets/sfx/effects/gate.ogg b/assets/sfx/effects/gate.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ea04540428b097c0d555db45b5ed576e2f630906 GIT binary patch literal 22751 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 TW^WJcet0^fYpEgk@9uvAOq#&Z literal 0 HcmV?d00001 diff --git a/src/gates.rs b/src/gates.rs index 3c72f48..0c9a42c 100644 --- a/src/gates.rs +++ b/src/gates.rs @@ -17,14 +17,27 @@ pub fn plugin(app: &mut App) { } fn update( + mut commands: Commands, keyboard: Res>, mut state: ResMut, mut names_entities: Query<(&NamedEntity, &mut Transform)>, + asset_server: Res, ) { if keyboard.just_pressed(KeyCode::Digit1) { if matches!(*state, GatesState::Init) { *state = GatesState::GateOpen1; + //TODO: put into a sound effects system + commands.spawn(( + AudioPlayer::new(asset_server.load("sfx/effects/gate.ogg")), + PlaybackSettings::DESPAWN, + )); + //TODO: put into actual key collect once we have that + commands.spawn(( + AudioPlayer::new(asset_server.load("sfx/effects/key_collect.ogg")), + PlaybackSettings::DESPAWN, + )); + let fences: HashMap<_, _> = vec![ ("fence_01", Quat::from_rotation_y(PI / -2.)), ("fence_02", Quat::from_rotation_y(PI / 2.)), diff --git a/src/main.rs b/src/main.rs index e8bb645..1ffd29a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,6 +9,8 @@ mod tb_entities; use avian3d::PhysicsPlugins; use avian3d::prelude::*; +use bevy::audio::PlaybackMode; +use bevy::audio::Volume; use bevy::core_pipeline::tonemapping::Tonemapping; use bevy::prelude::*; use bevy::render::view::ColorGrading; @@ -133,7 +135,14 @@ fn spawn_box( } fn music(asset_server: Res, mut commands: Commands) { - commands.spawn(AudioPlayer::new(asset_server.load("sfx/music/02.ogg"))); + commands.spawn(( + AudioPlayer::new(asset_server.load("sfx/music/02.ogg")), + PlaybackSettings { + mode: PlaybackMode::Loop, + volume: Volume::new(0.2), + ..default() + }, + )); } fn write_trenchbroom_config(server: Res) {