flashlight sound and animation

This commit is contained in:
Back777space
2025-04-06 15:41:22 +02:00
parent 99041827d4
commit f538c597f7
8 changed files with 246 additions and 36 deletions

View File

@@ -3,31 +3,35 @@ use bevy::{prelude::*, utils::HashMap};
use crate::GameState;
use bevy_asset_loader::prelude::*;
// use bevy_egui::{EguiContexts, egui, egui::ProgressBar};
// use bevy_kira_audio::AudioSource;
use bevy_kira_audio::{AudioPlugin, AudioSource};
// use iyes_progress::{ProgressCounter, ProgressPlugin};
/// Loads resources and assets for the game.
/// See assets/main.assets.ron for the actual paths used.
pub(super) fn plugin(app: &mut App) {
app.add_loading_state(
LoadingState::new(GameState::Loading)
.continue_to_state(GameState::Menu)
.with_dynamic_assets_file::<StandardDynamicAssetCollection>("main.assets.ron")
.load_collection::<ImageAssets>()
.load_collection::<FlashlightAssets>()
.load_collection::<GltfAssets>(),
// .load_collection::<AudioAssets>()
// .load_collection::<TextureAssets>()
// .load_collection::<GrassAssets>()
// .load_collection::<ConfigAssets>(),
);
app.add_plugins(AudioPlugin)
.add_loading_state(
LoadingState::new(GameState::Loading)
.continue_to_state(GameState::Menu)
.with_dynamic_assets_file::<StandardDynamicAssetCollection>("main.assets.ron")
.load_collection::<ImageAssets>()
.load_collection::<FlashlightAssets>()
.load_collection::<GltfAssets>()
.load_collection::<AudioAssets>(),
// .load_collection::<TextureAssets>()
// .load_collection::<GrassAssets>()
// .load_collection::<ConfigAssets>(),
);
}
// the following asset collections will be loaded during the State `GameState::InitialLoading`
// when done loading, they will be inserted as resources (see <https://github.com/NiklasEi/bevy_asset_loader>)
#[derive(AssetCollection, Resource, Clone)]
pub(crate) struct AudioAssets {}
pub(crate) struct AudioAssets {
#[asset(key = "flashlight_click")]
pub(crate) flash_click: Handle<AudioSource>,
}
#[derive(AssetCollection, Resource, Clone)]
pub(crate) struct GltfAssets {
@@ -54,4 +58,6 @@ pub(crate) struct ImageAssets {
pub(crate) struct FlashlightAssets {
#[asset(key = "flash_hold_4")]
pub(crate) flash_hold_4: Handle<Image>,
#[asset(key = "flash_hold_4_pressed")]
pub(crate) flash_hold_4_pressed: Handle<Image>,
}