47 lines
1.1 KiB
C#
47 lines
1.1 KiB
C#
|
|
using UdonSharp;
|
|
using UnityEngine;
|
|
using VRC.SDKBase;
|
|
using VRC.Udon;
|
|
|
|
public class SoundManager : UdonSharpBehaviour
|
|
{
|
|
[SerializeField] private AudioSource audioSourcePlayer;
|
|
[SerializeField] private AudioSource audioSourceGhosts;
|
|
|
|
[SerializeField] private AudioClip pacStart;
|
|
[SerializeField] private AudioClip pacDot1;
|
|
[SerializeField] private AudioClip pacDot2;
|
|
[SerializeField] private AudioClip pacGhost1;
|
|
|
|
private AudioClip nextDotSound;
|
|
|
|
public void Initialize()
|
|
{
|
|
nextDotSound = pacDot2;
|
|
}
|
|
|
|
public void PlayGameStartSound()
|
|
{
|
|
PlaySound(audioSourcePlayer, pacStart);
|
|
}
|
|
|
|
public void PlayPelletSound()
|
|
{
|
|
PlaySound(audioSourcePlayer, nextDotSound);
|
|
nextDotSound = nextDotSound == pacDot1 ? pacDot2 : pacDot1;
|
|
}
|
|
|
|
public void StartGhostSound()
|
|
{
|
|
PlaySound(audioSourceGhosts, pacGhost1, true);
|
|
}
|
|
|
|
private void PlaySound(AudioSource audioSource, AudioClip audioClip, bool loop = false)
|
|
{
|
|
audioSource.clip = audioClip;
|
|
audioSource.Play();
|
|
audioSource.loop = loop;
|
|
}
|
|
}
|