Настройки
This commit is contained in:
1 parent
4a547f1348
commit
79d03528f6
34 files changed
+17027
-62
No files matched your search
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Code.Configs;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
@@ -15,6 +16,7 @@ namespace Code.Audio
|
||||
public AudioMixer AudioMixer { get; private set; }
|
||||
private AssetReference _audioSourcePrefab;
|
||||
|
||||
private AssetReference[] _audioTestClipsReferences;
|
||||
private AssetReference[] _peacefulSoundtrack;
|
||||
private AssetReference[] _actionSoundtrack;
|
||||
private AssetReference[] _menuSoundtrack;
|
||||
@@ -23,6 +25,7 @@ namespace Code.Audio
|
||||
private AssetReference[] _dispatcher;
|
||||
private AssetReference[] _character;
|
||||
|
||||
private AsyncOperationHandle<IList<AudioClip>> _audioTestClipsHandle;
|
||||
private AsyncOperationHandle<IList<AudioClip>> _menuMusicHandle;
|
||||
private AsyncOperationHandle<IList<AudioClip>> _actionMusicHandle;
|
||||
private AsyncOperationHandle<IList<AudioClip>> _peacefulMusicHandle;
|
||||
@@ -30,6 +33,7 @@ namespace Code.Audio
|
||||
private AsyncOperationHandle<IList<AudioClip>> _enemiesHandle;
|
||||
private AsyncOperationHandle<IList<AudioClip>> _dispatcherHandle;
|
||||
|
||||
public Dictionary<AudioType, AudioClip> AudioTestClips { get; private set; } = new();
|
||||
public Dictionary<MusicType, List<AudioClip>> MusicDictionary { get; private set; } = new();
|
||||
public List<AudioClip> SFXAudios { get; private set; } = new();
|
||||
public List<AudioClip> EnemiesAudios { get; private set; } = new();
|
||||
@@ -39,7 +43,8 @@ namespace Code.Audio
|
||||
SoundtrackListConfig soundtrackListConfig,
|
||||
SFXListConfig sfxListConfig,
|
||||
EnemiesSoundListConfig enemiesSoundListConfig,
|
||||
DispatcherSoundListConfig dispatcherSoundListConfig
|
||||
DispatcherSoundListConfig dispatcherSoundListConfig,
|
||||
AudioTestClipsConfig audioTestClipsConfig
|
||||
)
|
||||
{
|
||||
AudioMixer = audioMixerConfig.audioMixerAsset;
|
||||
@@ -51,6 +56,7 @@ namespace Code.Audio
|
||||
_SFX = sfxListConfig.SFX;
|
||||
_enemies = enemiesSoundListConfig.enemies;
|
||||
_dispatcher = dispatcherSoundListConfig.dispatcher;
|
||||
_audioTestClipsReferences = audioTestClipsConfig.audioTestClips;
|
||||
|
||||
MusicDictionary.Add(MusicType.Menu, new ());
|
||||
MusicDictionary.Add(MusicType.Peaceful, new ());
|
||||
@@ -77,12 +83,28 @@ namespace Code.Audio
|
||||
MusicDictionary[MusicType.Peaceful].Clear();
|
||||
_peacefulMusicHandle.Release();
|
||||
}
|
||||
public async UniTask WarmAudioTestClips( )
|
||||
{
|
||||
// _audioTestClipCounter = 0;
|
||||
_audioTestClipsHandle = Addressables.LoadAssetsAsync<AudioClip>(_audioTestClipsReferences, OnAudioTestClipLoaded, Addressables.MergeMode.Union);
|
||||
|
||||
// foreach (var assetReference in _menuSoundtrack) MenuMusic.Add(await assetReference.LoadAssetAsync<AudioClip>());
|
||||
var clips = (await _audioTestClipsHandle.ToUniTask()).ToList();
|
||||
|
||||
for (int i = 0; i < clips.Count; i++)
|
||||
AudioTestClips[(AudioType)i] = clips[i];
|
||||
}
|
||||
public void ReleaseAudioTestClips()
|
||||
{
|
||||
AudioTestClips.Clear();
|
||||
// foreach (var assetReference in _menuSoundtrack) assetReference.ReleaseAsset();
|
||||
_audioTestClipsHandle.Release();
|
||||
}
|
||||
public async UniTask WarmMenuMusic( )
|
||||
{
|
||||
_menuMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_menuSoundtrack, OnMenuTrackLoaded, Addressables.MergeMode.Union);
|
||||
// foreach (var assetReference in _menuSoundtrack) MenuMusic.Add(await assetReference.LoadAssetAsync<AudioClip>());
|
||||
await _menuMusicHandle.ToUniTask();
|
||||
|
||||
}
|
||||
public void ReleaseMenuMusic()
|
||||
{
|
||||
@@ -134,6 +156,12 @@ namespace Code.Audio
|
||||
{
|
||||
MusicDictionary[MusicType.Menu].Add(audioClip);
|
||||
}
|
||||
|
||||
// private int _audioTestClipCounter;
|
||||
private void OnAudioTestClipLoaded(AudioClip audioClip)
|
||||
{
|
||||
// AudioTestClips[(AudioType)_audioTestClipCounter] = audioClip;_audioTestClipCounter++;
|
||||
}
|
||||
private void OnActionTrackLoaded(AudioClip audioClip)
|
||||
{
|
||||
MusicDictionary[MusicType.Action].Add(audioClip);
|
||||
|
||||
Reference in new issue
Block a user