DEG-57 [Style] 사운드 매니저 코드 정리

This commit is contained in:
Sehyeon 2025-04-21 17:44:37 +09:00
parent 45668bbc4e
commit f2eb455d07
3 changed files with 5 additions and 29 deletions

View File

@ -32,6 +32,9 @@ public partial class GameManager : Singleton<GameManager>
return; return;
} }
playerStats.OnDayEnded += AdvanceDay; playerStats.OnDayEnded += AdvanceDay;
// 오디오 초기화
InitializeAudio();
} }
// 날짜 진행 // 날짜 진행

View File

@ -7,16 +7,13 @@ public partial class GameManager : Singleton<GameManager>
{ {
// 오디오 클립 참조 // 오디오 클립 참조
[Header("오디오 설정")] [Header("오디오 설정")]
[SerializeField] private AudioClip mainMenuBGM;
[SerializeField] private AudioClip housingBGM; [SerializeField] private AudioClip housingBGM;
[SerializeField] private AudioClip dungeonBGM; [SerializeField] private AudioClip dungeonBGM;
[SerializeField] private AudioClip bossBattleBGM;
[SerializeField] private AudioClip gameOverBGM; [SerializeField] private AudioClip gameOverBGM;
[SerializeField] private AudioClip victoryBGM; [SerializeField] private AudioClip victoryBGM;
[SerializeField] private AudioClip buttonClickSFX; [SerializeField] private AudioClip buttonClickSFX;
[SerializeField] private AudioClip menuOpenSFX; [SerializeField] private AudioClip menuOpenSFX;
[SerializeField] private AudioClip dayChangeSFX;
// 씬에 따른 배경음 맵핑 // 씬에 따른 배경음 맵핑
private Dictionary<string, AudioClip> sceneBGMMap = new Dictionary<string, AudioClip>(); private Dictionary<string, AudioClip> sceneBGMMap = new Dictionary<string, AudioClip>();
@ -29,25 +26,21 @@ public partial class GameManager : Singleton<GameManager>
{ {
// 씬-BGM 맵핑 초기화 // 씬-BGM 맵핑 초기화
sceneBGMMap.Clear(); sceneBGMMap.Clear();
sceneBGMMap.Add("MainMenu", mainMenuBGM); sceneBGMMap.Add("Housing", housingBGM); // 씬 이름, 해당 씬 BGM
sceneBGMMap.Add("Housing", housingBGM);
sceneBGMMap.Add("Game", dungeonBGM); sceneBGMMap.Add("Game", dungeonBGM);
// 오디오 클립 등록 // 오디오 클립 등록
if (SoundManager.Instance != null) if (SoundManager.Instance != null)
{ {
// BGM 등록 // BGM 등록
if (mainMenuBGM != null) SoundManager.Instance.LoadAudioClip("MainMenuBGM", mainMenuBGM);
if (housingBGM != null) SoundManager.Instance.LoadAudioClip("HousingBGM", housingBGM); if (housingBGM != null) SoundManager.Instance.LoadAudioClip("HousingBGM", housingBGM);
if (dungeonBGM != null) SoundManager.Instance.LoadAudioClip("DungeonBGM", dungeonBGM); if (dungeonBGM != null) SoundManager.Instance.LoadAudioClip("DungeonBGM", dungeonBGM);
if (bossBattleBGM != null) SoundManager.Instance.LoadAudioClip("BossBGM", bossBattleBGM);
if (gameOverBGM != null) SoundManager.Instance.LoadAudioClip("GameOverBGM", gameOverBGM); if (gameOverBGM != null) SoundManager.Instance.LoadAudioClip("GameOverBGM", gameOverBGM);
if (victoryBGM != null) SoundManager.Instance.LoadAudioClip("VictoryBGM", victoryBGM); if (victoryBGM != null) SoundManager.Instance.LoadAudioClip("VictoryBGM", victoryBGM);
// SFX 등록 // SFX 등록
if (buttonClickSFX != null) SoundManager.Instance.LoadAudioClip("ButtonClick", buttonClickSFX); if (buttonClickSFX != null) SoundManager.Instance.LoadAudioClip("ButtonClick", buttonClickSFX);
if (menuOpenSFX != null) SoundManager.Instance.LoadAudioClip("MenuOpen", menuOpenSFX); if (menuOpenSFX != null) SoundManager.Instance.LoadAudioClip("MenuOpen", menuOpenSFX);
if (dayChangeSFX != null) SoundManager.Instance.LoadAudioClip("DayChange", dayChangeSFX);
// 현재 씬에 맞는 배경음 재생 // 현재 씬에 맞는 배경음 재생
string currentSceneName = UnityEngine.SceneManagement.SceneManager.GetActiveScene().name; string currentSceneName = UnityEngine.SceneManagement.SceneManager.GetActiveScene().name;
@ -78,18 +71,6 @@ public partial class GameManager : Singleton<GameManager>
} }
} }
// 보스 전투 시작 시 호출
public void StartBossBattle()
{
if (SoundManager.Instance == null) return;
if (bossBattleBGM != null)
{
SoundManager.Instance.PlayBGMByAudioClip(bossBattleBGM, true, 1.0f);
currentBGMTrack = "Boss";
}
}
// 게임 오버 시 호출 // 게임 오버 시 호출
public void PlayGameOverMusic() public void PlayGameOverMusic()
{ {
@ -114,14 +95,6 @@ public partial class GameManager : Singleton<GameManager>
} }
} }
// 날짜 변경 효과음 재생
public void PlayDayChangeSound()
{
if (SoundManager.Instance == null) return;
SoundManager.Instance.PlaySFXByName("DayChange");
}
// 버튼 클릭 효과음 재생 // 버튼 클릭 효과음 재생
public void PlayButtonClickSound() public void PlayButtonClickSound()
{ {

View File

@ -49,7 +49,7 @@ public class SoundManager : Singleton<SoundManager>
#region #region
// 오디오 클립을 로드하고 식별 이름을 지정 // 오디오 클립을 audioClips에 저장 (식별을 위한 이름 포함)
public void LoadAudioClip(string name, AudioClip clip) public void LoadAudioClip(string name, AudioClip clip)
{ {
if (clip == null) return; if (clip == null) return;