Exemple #1
0
    public void Stop(AudioObject TargetObject, bool bForcedStopWithoutFade = false, bool bPassReplay = false)
    {
        if (TargetObject == null)
        {
            return;
        }

        if (TargetObject.m_Data.m_bUseFadeOut && !bForcedStopWithoutFade)
        {
            TargetObject.FadeOutAndStop();
        }
        else
        {
            TargetObject.Stop();
        }

        if (!bPassReplay && m_eChannelType == E_AUDIO_CHANNEL_TYPE.BGM_SPECIAL)
        {
            int nPlayingAudioCount = m_nPlayingAudioCount;
            ///중지후에 플레이 가능한 BGM이 없으면 맵 배경음을 재생.
            if (nPlayingAudioCount == 0)
            {
                SoundManager.Instance.RePlayMapBGM();
            }
            else ///있다면 해당 BGM을 재생
            {
                AudioObject Audio = GetRecentPlayingAudio();
                if (Audio != null)
                {
                    Audio.FadeInAndResume();
                }
            }
        }
    }