//指定したディレクトリにあるAudioClipをロードし、キャッシュ protected void LoadAudioClip(string directoryPath, AudioCacheType cacheType, bool isReleaseBGMCache) { _cacheType = cacheType; if (_cacheType == AudioCacheType.All) { _audioClipDict = Resources.LoadAll <AudioClip>(directoryPath).ToDictionary(clip => clip.name, clip => clip); } if (_cacheType == AudioCacheType.Used && isReleaseBGMCache) { SceneManager.sceneUnloaded += (scene) => { _audioClipDict.Clear(); }; } }
protected IEnumerator LoadAudioClip(string preloadPath, AudioCacheType cacheType, bool isReleaseCache) { if (!string.IsNullOrWhiteSpace(preloadPath)) { var handle = Addressables.LoadAssetsAsync <AudioClip>(preloadPath, audio => _audioClipDict[preloadPath + audio.name] = audio); yield return(handle); } _cacheType = cacheType; if (_cacheType == AudioCacheType.Used && isReleaseCache) { SceneManager.sceneUnloaded += (scene) => _audioClipDict.Clear(); } }