using UnityEngine; [RequireComponent(typeof(AudioSource))] public class SoundManager : MonoBehaviour { public static SoundManager Instance { get; private set; } [Header("Audio Clips")] public AudioClip cardDrawClip; public AudioClip cardDropClip; public AudioClip cardFlipClip; public AudioClip winClip; public AudioClip loseClip; private AudioSource _audioSource; private void Awake() { Instance = this; _audioSource = GetComponent(); } public void PlayDraw() => PlayClip(cardDrawClip, 1.0f); public void PlayDrop() => PlayClip(cardDropClip, 0.95f); public void PlayFlip() => PlayClip(cardFlipClip, 1.1f); public void PlayWin() => PlayClip(winClip, 1.0f); public void PlayLose() => PlayClip(loseClip, 0.85f); private void PlayClip(AudioClip clip, float pitch) { if (clip == null) return; _audioSource.pitch = pitch + Random.Range(-0.05f, 0.05f); _audioSource.PlayOneShot(clip); } }