using UnityEngine; public class SoundManager : MonoBehaviour { public static SoundManager instance; [Header("Audio Sources")] [SerializeField] private AudioSource bgmSource; [SerializeField] private AudioSource sfxSource; [SerializeField] private AudioSource footstepSource; PlayerController playerController; void Awake() { if (instance == null) instance = this; else Destroy(gameObject); } // ¹è°æÀ½¾Ç Àç»ý/º¯°æ public void PlayBGM(AudioClip clip) { bgmSource.clip = clip; bgmSource.loop = true; bgmSource.Play(); } // È¿°úÀ½ ÇÑ ¹ø Àç»ý (¿©·¯ °³ °ãÄ¡±â °¡´É) public void PlaySFX(AudioClip clip) { sfxSource.PlayOneShot(clip); } public void PlayFootstep(AudioClip clip) { // ÀÌ¹Ì °È´Â ¼Ò¸®°¡ Àç»ý ÁßÀ̰í, °°Àº Ŭ¸³À̶ó¸é ´Ù½Ã Àç»ýÇÏÁö ¾ÊÀ½ (ÀÚ¿¬½º·¯¿î ·çÇÁ À§ÇØ) if (footstepSource.isPlaying && footstepSource.clip == clip) return; footstepSource.clip = clip; footstepSource.loop = true; // °È´Â ¼Ò¸®´Â º¸Åë ¹Ýº¹µÇ¾î¾ß ÇÔ footstepSource.Play(); } // °È±â ¸ØÃã ÇÔ¼ö (¼öÁ¤µÊ) public void StopFootstep() { if (footstepSource.isPlaying) { footstepSource.Stop(); // ÀÎÀÚ ¾øÀÌ È£ÃâÇØ¾ß ÇÔ! } } }