Got the example working!

First found event parameters, how to modify them, and the setting in
FMOD for it to work in-engine.
selection-refactor
Elijah Voigt 2 years ago
parent c856b3be48
commit dd7deb29b8

Binary file not shown.

@ -28,11 +28,47 @@ struct MyMusicPlayer;
fn startup(mut commands: Commands, studio: Res<FmodStudio>) { fn startup(mut commands: Commands, studio: Res<FmodStudio>) {
let event_description = studio.0.get_event("event:/Martian Chess").unwrap(); let event_description = studio.0.get_event("event:/Martian Chess").unwrap();
studio
.0
.get_bank_list(10)
.expect("List banks")
.iter()
.for_each(|bank| {
info!("Bank: {:?}", bank.get_path().expect("Get bank path"));
bank.get_event_list(100)
.iter()
.flat_map(|events| events.iter())
.for_each(|event| {
info!("Event path: {:?}", event.get_path());
info!(
"Event parameter description {:?}",
event.get_parameter_description_by_name("Game State")
);
});
});
commands commands
.spawn(MyMusicPlayer) .spawn(MyMusicPlayer)
.insert(AudioSource::new(event_description)); .insert(AudioSource::new(event_description));
} }
fn play_music(mut audio_sources: Query<&AudioSource, With<MyMusicPlayer>>) { fn play_music(mut audio_sources: Query<&AudioSource, With<MyMusicPlayer>>) {
audio_sources.single_mut().play(); if let Ok(audio_source) = audio_sources.get_single_mut() {
audio_source.play();
info!(
"Parameter by name: {:?}",
audio_source
.event_instance
.get_parameter_by_name("Game State")
.expect("Get parameter")
);
match audio_source
.event_instance
.set_parameter_by_name("Game State", 5.0, true)
{
Ok(_) => (),
Err(e) => warn!("Error: {:?}", e),
};
}
} }

Loading…
Cancel
Save