Пример #1
0
        /// <summary>
        /// 释放指定音频类型内存
        /// </summary>
        /// <param name="type">音频类型</param>
        private void Release(enAudioType type)
        {
            //
            if (m_Coroutine != null)
            {
                StopCoroutine(m_Coroutine);
                m_Coroutine = null;
            }

            AudioComponent[] audioComponents = FindObjectsOfType <AudioComponent>();
            RefreshAudioClipRef(audioComponents);
            if ((type & enAudioType.Guild) != 0)
            {
                m_Coroutine = StartCoroutine(DelayUnload(audioComponents, "Guide_"));
            }
            if ((type & enAudioType.BGM) != 0)
            {
                m_Coroutine = StartCoroutine(DelayUnload(audioComponents, "BGM_"));
            }
            if ((type & enAudioType.MUS) != 0)
            {
                m_Coroutine = StartCoroutine(DelayUnload(audioComponents, "MUS_"));
            }
            if ((type & enAudioType.AMB) != 0)
            {
                m_Coroutine = StartCoroutine(DelayUnload(audioComponents, "Amb_"));
            }
            //默认清掉其他杂的音频
            //StartCoroutine(DelayUnload(audioComponents, "SFX_Character_Common", false));
        }
Пример #2
0
 /// <summary>
 /// 初始化
 /// </summary>
 public void F_Start()
 {
     m_CheckTime     = 15.0f;
     m_LastCheckTime = Time.time + m_CheckTime;
     m_ReleaseType   = enAudioType.BGM | enAudioType.Guild | enAudioType.MUS | enAudioType.AMB;
     //
     DontDestroyOnLoad(this.gameObject);
 }