INNER CODE UNIT · Rust
fmt
CleanCut/rusty_engine · src/audio.rs:90
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("AudioManager")
.field("sfx_queue", &self.sfx_queue)
.field("music_queue", &self.music_queue)
.field("music_playing", &self.music_playing)
.finish()
}
}
impl AudioManager {
/// Play a sound effect. `volume` ranges from `0.0` to `1.0`. `sfx` can be an [`SfxPreset`] or a
/// string containing the relative path/filename of a sound file within the `assets/`
/// directory. Sound effects are "fire and forget". They will play to completion and then stop.
/// Multiple sound effects will be mixed and play simultaneously.
pub fn play_sfx<S: Into<String>>(&mut self, sfx: S, volume: f32) {
self.sfx_queue.push((sfx.into(), volume.clamp(0.0, 1.0)));
}
/// Play looping music. `volume` ranges from `0.0` to `1.0`. Music will loop until stopped with