public virtual void ExceptionProcess(AudioObject NewAudioObject) { ///버그에 대한 예외처리 및 디버그 코드 작성 if (NewAudioObject == null) { Debugs.LogError("[사운드-재생] 새로 가져온 오브젝트가 null입니다! 어딘가에서 객체 파괴시 그 객체 하위에서 재생중인 사운드를 돌려주지 않았을 수 있습니다! 일단 새로운 객체를 재생성합니다."); NewAudioObject = m_Channel.AddAudioObject(); m_Channel.m_AudioDeactiveObjectList.Remove(NewAudioObject); NewAudioObject.gameObject.SetActive(true); for (int i = 0; i < m_Channel.m_AudioActiveObjectList.Count; i++) { if (m_Channel.m_AudioActiveObjectList[i] == null) { Debugs.LogError("[사운드-재생] 현재 활성화된 객체중 이미 NULL이 되버린 객체를 발견했습니다! 인덱스:", i); m_Channel.m_AudioActiveObjectList.Remove(m_Channel.m_AudioActiveObjectList[i]); } } } }