1
0

Updated audio and added robber laugh

Signed-off-by: James Ketrenos <james_eikona@ketrenos.com>
This commit is contained in:
James Ketrenos 2022-06-21 10:17:24 -07:00
parent b6608e519a
commit c4cb0b84e2
4 changed files with 31 additions and 18 deletions

BIN
client/public/assets/robber.mp3 Executable file

Binary file not shown.

View File

@ -47,6 +47,18 @@ const Pip = () => {
let audioEffects = { let audioEffects = {
}; };
const loadAudio = (src) => {
const audio = document.createElement("audio");
audio.src = `${assetsPath}/${src}`;
audio.setAttribute("preload", "auto");
audio.setAttribute("controls", "none");
audio.style.display = "none";
document.body.appendChild(audio);
audio.play();
audio.hasPlayed = true;
return audio;
}
const Table = () => { const Table = () => {
const params = useParams(); const params = useParams();
const [ gameId, setGameId ] = useState(params.gameId ? params.gameId : undefined); const [ gameId, setGameId ] = useState(params.gameId ? params.gameId : undefined);
@ -340,14 +352,7 @@ const Table = () => {
useEffect(() => { useEffect(() => {
if (state === 'volcano') { if (state === 'volcano') {
if (!audioEffects.volcano) { if (!audioEffects.volcano) {
audioEffects.volcano = document.createElement("audio"); audioEffects.volcano = loadAudio('volcano-eruption.mp3');
audioEffects.volcano.src = `${assetsPath}/volcano-eruption.mp3`;
audioEffects.volcano.setAttribute("preload", "auto");
audioEffects.volcano.setAttribute("controls", "none");
audioEffects.volcano.style.display = "none";
document.body.appendChild(audioEffects.volcano);
audioEffects.volcano.play();
audioEffects.volcano.hasPlayed = true;
} else { } else {
if (!audioEffects.volcano.hasPlayed) { if (!audioEffects.volcano.hasPlayed) {
audioEffects.volcano.hasPlayed = true; audioEffects.volcano.hasPlayed = true;
@ -364,26 +369,34 @@ const Table = () => {
useEffect(() => { useEffect(() => {
if (turn && turn.color === color) { if (turn && turn.color === color) {
if (!audioEffects.yourTurn) { if (!audioEffects.yourTurn) {
audioEffects.yourTurn = document.createElement("audio"); audioEffects.yourTurn = loadAudio('its-your-turn.mp3');
audioEffects.yourTurn.src = `${assetsPath}/its-your-turn.mp3`;
audioEffects.yourTurn.setAttribute("preload", "auto");
audioEffects.yourTurn.setAttribute("controls", "none");
audioEffects.yourTurn.style.display = "none";
document.body.appendChild(audioEffects.yourTurn);
audioEffects.yourTurn.play();
audioEffects.yourTurn.hasPlayed = true;
} else { } else {
if (!audioEffects.yourTurn.hasPlayed) { if (!audioEffects.yourTurn.hasPlayed) {
audioEffects.yourTurn.hasPlayed = true; audioEffects.yourTurn.hasPlayed = true;
audioEffects.yourTurn.play(); audioEffects.yourTurn.play();
} }
} }
} else { } else if (turn) {
if (audioEffects.yourTurn) { if (audioEffects.yourTurn) {
audioEffects.yourTurn.hasPlayed = false; audioEffects.yourTurn.hasPlayed = false;
} }
} }
}, [turn]);
if (turn && turn.roll === 7) {
if (!audioEffects.robber) {
audioEffects.robber = loadAudio('robber.mp3');
} else {
if (!audioEffects.robber.hasPlayed) {
audioEffects.robber.hasPlayed = true;
audioEffects.robber.play();
}
}
} else if (turn) {
if (audioEffects.robber) {
audioEffects.robber.hasPlayed = false;
}
}
}, [turn, color]);
return <GlobalContext.Provider value={global}> return <GlobalContext.Provider value={global}>
{ /* <PingPong/> */ } { /* <PingPong/> */ }