44 lines
1.6 KiB
JavaScript
44 lines
1.6 KiB
JavaScript
// Sound effect keys — must match the keys loaded in PreloadScene.
|
|
export const SFX = {
|
|
CARD_DEAL: 'sfx-card-deal',
|
|
CARD_PLACE: 'sfx-card-place',
|
|
CARD_SHOW: 'sfx-card-show',
|
|
CARD_SHUFFLE: 'sfx-card-shuffle',
|
|
COINS: 'sfx-coins',
|
|
PURCHASE: 'sfx-purchase',
|
|
CASINO_BLACKJACK: 'sfx-casino-blackjack',
|
|
CASINO_LOSE: 'sfx-casino-lose',
|
|
CASINO_WIN: 'sfx-casino-win',
|
|
CHIP_BET: 'sfx-chip-bet',
|
|
DICE_ROLL: 'sfx-dice-roll',
|
|
PENCIL_WRITE: 'sfx-pencil-write',
|
|
BINGO_BALLS: 'sfx-bingo-balls',
|
|
PIECE_CLICK: 'sfx-piece-click',
|
|
ROULETTE: 'sfx-roulette',
|
|
BATTLESHIP_HIT: 'sfx-battleship-hit',
|
|
BATTLESHIP_MISS: 'sfx-battleship-miss',
|
|
BATTLESHIP_LAUNCH: 'sfx-battleship-launch',
|
|
MASTERMIND_GLITCH_1: 'sfx-mastermind-glitch-1',
|
|
MASTERMIND_GLITCH_2: 'sfx-mastermind-glitch-2',
|
|
MASTERMIND_PLACE: 'sfx-mastermind-place',
|
|
MASTERMIND_GRANTED: 'sfx-mastermind-access-granted',
|
|
MASTERMIND_DENIED: 'sfx-mastermind-access-denied',
|
|
MASTERMIND_COLOR: 'sfx-mastermind-color',
|
|
MASTERMIND_MATCH: 'sfx-mastermind-match',
|
|
MASTERMIND_CALCULATE: 'sfx-mastermind-calculate',
|
|
VICTORY_SHORT: 'sfx-victory-short',
|
|
};
|
|
|
|
export function playSound(scene, key) {
|
|
try { scene.sound.play(key); } catch (_) {}
|
|
}
|
|
|
|
// chip-bet is limited to one simultaneous instance.
|
|
let _chipBetSound = null;
|
|
export function playChipBet(scene) {
|
|
if (_chipBetSound?.isPlaying) return;
|
|
_chipBetSound?.destroy();
|
|
_chipBetSound = scene.sound.add(SFX.CHIP_BET);
|
|
_chipBetSound.play();
|
|
}
|