Пример #1
0
    public void Reset()
    {
        _BgmSoundEntry.Reset();

        _EnvironmentSoundEntry.Reset();

        _WeatherSoundEntry.Reset();

        {
            int nCount = _effectAudioSourceList.Count;
            for (int i = 0; i < nCount; ++i)
            {
                EffectAudioSourceItem item = _effectAudioSourceList[i];
                if (item.audioSource != null)
                {
                    // if(item.audioSource.isPlaying)
                    item.audioSource.Stop();
                    GameObject.Destroy(item.audioSource.gameObject);
                    item.audioSource = null;
                }
                item.Reset();
            }
            _effectAudioSourceList.Clear();
        }

        _ClipCache.Clear();

        CheckAudioListener();
    }
Пример #2
0
    public void Reset()
    {
        _IsLoadingShow = false;

        _BgmSoundEntry.Reset();

        _EnvironmentSoundEntry.Reset();

        _WeatherSoundEntry.Reset();


        List <EffectAudioSourceItem>[] effectSoundListArray =
        {
            _effect3DAudioSourceList,
            _attachedEffect3DAudioSourceList,
            _effect2DAudioSourceList,
            _footStep3DAudioSourceList,
            _static3DAudioSourceList,
            _npcVoice3DAudioSourceList,
            _npcShout3DAndioSourceList,
            _heartbeat2DAudioSourceList
        };
        for (int n = 0; n < effectSoundListArray.Length; ++n)
        {
            List <EffectAudioSourceItem> soundList = effectSoundListArray[n];
            int nCount = soundList.Count;
            for (int i = 0; i < nCount; ++i)
            {
                EffectAudioSourceItem item = soundList[i];
                if (item.attachedObj != null)
                {
                    item.Stop();
                    GameObject.Destroy(item.attachedObj);
                    item.attachedObj = null;
                }
                item.Reset();
            }
            soundList.Clear();
        }

        CheckAudioListener();
    }