UNPKG

slanted-gamedev-toolz

Version:

A slanted mix of tools for your brilliant ideas in game design.

36 lines (35 loc) 1.32 kB
import { useCallback, useEffect } from "react"; import { useGlobalAudioPlayer } from "react-use-audio-player"; import { randomArrayItem } from "../../../util/randomArrayItem"; export function usePlayCatMusicFile({ track }) { const { load: loadMusic, stop: stopMusic, fade: fadeMusic, } = useGlobalAudioPlayer(); const isMuteMusic = false; const playMusic = useCallback(() => { loadMusic("./audio/Columbian Soul.mp3", { autoplay: true, }); }, [loadMusic]); useEffect(() => { if (isMuteMusic) { stopMusic(); return; } const isSingleTrack = typeof track === "string"; const src = `./audio/soundTrack/${isSingleTrack ? track : randomArrayItem(track)}.mp3`; console.log("Playing Audio:", src); loadMusic(src); return function cleanup() { console.log("Stop Audio:", src); stopMusic(); }; // eslint-disable-next-line react-hooks/exhaustive-deps }, [isMuteMusic, track]); return { playMusic }; } export const musicQuasarLoops = ["QuasarA110", "QuasarB110", "QuasarC110"]; export const musicBlazeLoops = ["BlazeA110", "BlazeB110", "BlazeC110"]; export const musicTouchstoneLoops = [ "TouchstoneA92", "TouchstoneB92", "TouchstoneC92", ];