<?phpnamespace App\Service;use JumPHP\Audio\SoundManager;/** The sound effects and the music: all composed by tools/sound.py (assets/sfx, assets/music). */final class Audio{ private bool $loaded = false; public function load(SoundManager $s): void { if ($this->loaded) { return; } $this->loaded = true; foreach (['menu_move', 'menu_confirm', 'select', 'assign', 'deny', 'spawn', 'saved', 'boom', 'fuse', 'splat', 'drown', 'brick', 'lastbrick', 'clink', 'win', 'lose'] as $name) { $s->loadSfx($name, "assets/sfx/$name.wav"); } foreach (['title', 'play', 'play2', 'play3', 'play4', 'play5', 'play6', 'play7', 'play8', 'play9', 'play10', 'play11'] as $music) { if (!is_file(\JumPHP\Kernel\Engine::get()->config->path("assets/music/$music.ogg"))) { continue; // a tune not composed yet: the level plays in silence } $s->loadMusic($music, "assets/music/$music.ogg"); } }}