В инфраструктуре начался сущий кошмар
This commit is contained in:
1 parent
346dc97fef
commit
e67fea2051
51 files changed
+659
-140
No files matched your search
@@ -66,14 +66,13 @@ namespace Code.Audio
|
||||
public async UniTask LoadAudioSourcePrefab(Action<GameObject> callback) =>
|
||||
callback?.Invoke(await Addressables.LoadAssetAsync<GameObject>(_audioSourcePrefab));
|
||||
|
||||
public async UniTaskVoid WarmGameplayMusic(Action callback)
|
||||
public async UniTask WarmGameplayMusic( )
|
||||
{
|
||||
_actionMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_actionSoundtrack, OnActionTrackLoaded);
|
||||
_peacefulMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_peacefulSoundtrack, OnPeacefulTrackLoaded);
|
||||
_actionMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_actionSoundtrack, OnActionTrackLoaded, Addressables.MergeMode.None);
|
||||
_peacefulMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_peacefulSoundtrack, OnPeacefulTrackLoaded, Addressables.MergeMode.None);
|
||||
|
||||
await UniTask.WhenAll(_actionMusicHandle.ToUniTask(), _peacefulMusicHandle.ToUniTask());
|
||||
|
||||
callback?.Invoke();
|
||||
|
||||
}
|
||||
|
||||
public void ReleaseGameplayMusic()
|
||||
@@ -85,13 +84,12 @@ namespace Code.Audio
|
||||
_peacefulMusicHandle.Release();
|
||||
}
|
||||
|
||||
public async UniTaskVoid WarmMenuMusic(Action callback)
|
||||
public async UniTask WarmMenuMusic( )
|
||||
{
|
||||
_menuMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_menuSoundtrack, OnMenuTrackLoaded, Addressables.MergeMode.None);
|
||||
// foreach (var assetReference in _menuSoundtrack) MenuMusic.Add(await assetReference.LoadAssetAsync<AudioClip>());
|
||||
await _menuMusicHandle.ToUniTask();
|
||||
|
||||
callback?.Invoke();
|
||||
|
||||
}
|
||||
|
||||
public void ReleaseMenuMusic()
|
||||
@@ -100,13 +98,12 @@ namespace Code.Audio
|
||||
// foreach (var assetReference in _menuSoundtrack) assetReference.ReleaseAsset();
|
||||
_menuMusicHandle.Release();
|
||||
}
|
||||
public async UniTaskVoid WarmSFX(Action callback)
|
||||
public async UniTask WarmSFX( )
|
||||
{
|
||||
_SFXHandle = Addressables.LoadAssetsAsync<AudioClip>(_SFX, OnSFXLoaded);
|
||||
_SFXHandle = Addressables.LoadAssetsAsync<AudioClip>(_SFX, OnSFXLoaded, Addressables.MergeMode.None);
|
||||
|
||||
await _SFXHandle.ToUniTask();
|
||||
|
||||
callback?.Invoke();
|
||||
|
||||
}
|
||||
|
||||
public void ReleaseSFX()
|
||||
@@ -114,13 +111,12 @@ namespace Code.Audio
|
||||
SFXAudios.Clear();
|
||||
_SFXHandle.Release();
|
||||
}
|
||||
public async UniTaskVoid WarmEnemies(Action callback)
|
||||
public async UniTask WarmEnemies( )
|
||||
{
|
||||
_enemiesHandle = Addressables.LoadAssetsAsync<AudioClip>(_enemies, OnEnemiesLoaded);
|
||||
_enemiesHandle = Addressables.LoadAssetsAsync<AudioClip>(_enemies, OnEnemiesLoaded, Addressables.MergeMode.None);
|
||||
|
||||
await _enemiesHandle.ToUniTask();
|
||||
|
||||
callback?.Invoke();
|
||||
|
||||
}
|
||||
|
||||
public void ReleaseEnemies()
|
||||
@@ -129,13 +125,12 @@ namespace Code.Audio
|
||||
_enemiesHandle.Release();
|
||||
}
|
||||
|
||||
public async UniTaskVoid WarmDispatcher(Action callback)
|
||||
public async UniTask WarmDispatcher( )
|
||||
{
|
||||
_dispatcherHandle = Addressables.LoadAssetsAsync<AudioClip>(_dispatcher, OnDispatcherLoaded);
|
||||
_dispatcherHandle = Addressables.LoadAssetsAsync<AudioClip>(_dispatcher, OnDispatcherLoaded, Addressables.MergeMode.None);
|
||||
|
||||
await _dispatcherHandle.ToUniTask();
|
||||
|
||||
callback?.Invoke();
|
||||
|
||||
}
|
||||
|
||||
public void ReleaseDispatcher()
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace Code.Audio
|
||||
_audioFactory = audioFactory;
|
||||
}
|
||||
|
||||
public async UniTaskVoid Initialize(Action callback)
|
||||
public async UniTask Initialize()
|
||||
{
|
||||
// _mixer = await _audioFactory.CreateMixer();
|
||||
_mixer = _audioFactory.AudioMixer;
|
||||
@@ -62,8 +62,6 @@ namespace Code.Audio
|
||||
await _audioFactory.LoadAudioSourcePrefab(_audioSourcePool.Initialize);
|
||||
|
||||
InitializeMusicSources();
|
||||
|
||||
callback?.Invoke();
|
||||
}
|
||||
|
||||
private void InitializeMusicSources()
|
||||
@@ -180,6 +178,20 @@ namespace Code.Audio
|
||||
callback?.Invoke();
|
||||
}
|
||||
|
||||
public async UniTaskVoid GladlyAskToStopGameplayMusic(Action callback = null)
|
||||
{
|
||||
TransitToSnapshot(AudioSnapshotState.None);
|
||||
|
||||
await UniTask.WaitForSeconds(1f);
|
||||
|
||||
_actionMusicSource.Stop();
|
||||
_peacefulMusicSource.Stop();
|
||||
|
||||
_actionMusicTokenSource.Cancel();
|
||||
_peacefulMusicTokenSource.Cancel();
|
||||
|
||||
callback?.Invoke();
|
||||
}
|
||||
public async UniTaskVoid GladlyAskToStopActionMusic(Action callback = null)
|
||||
{
|
||||
TransitToSnapshot(AudioSnapshotState.None);
|
||||
|
||||
@@ -16,15 +16,15 @@ namespace Code.Audio
|
||||
List<AudioClip> DispatcherAudios { get; }
|
||||
AudioMixer AudioMixer { get; }
|
||||
UniTask LoadAudioSourcePrefab(Action<GameObject> callback);
|
||||
UniTaskVoid WarmGameplayMusic(Action callback);
|
||||
UniTask WarmGameplayMusic();
|
||||
void ReleaseGameplayMusic();
|
||||
UniTaskVoid WarmMenuMusic(Action callback);
|
||||
UniTask WarmMenuMusic();
|
||||
void ReleaseMenuMusic();
|
||||
UniTaskVoid WarmSFX(Action callback);
|
||||
UniTask WarmSFX();
|
||||
void ReleaseSFX();
|
||||
UniTaskVoid WarmEnemies(Action callback);
|
||||
UniTask WarmEnemies();
|
||||
void ReleaseEnemies();
|
||||
UniTaskVoid WarmDispatcher(Action callback);
|
||||
UniTask WarmDispatcher();
|
||||
void ReleaseDispatcher();
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ namespace Code.Audio
|
||||
{
|
||||
public interface IAudioService
|
||||
{
|
||||
UniTaskVoid Initialize(Action callback);
|
||||
UniTask Initialize();
|
||||
void PlayRandomGameplayMusic();
|
||||
void TransitToSnapshot(AudioSnapshotState state, float time = 1f);
|
||||
void PlaySFX(SFXSounds sfxId, Vector3 position);
|
||||
@@ -19,5 +19,8 @@ namespace Code.Audio
|
||||
UniTaskVoid GladlyAskToStopMenuMusic(Action callback = null);
|
||||
UniTaskVoid GladlyAskToStopActionMusic(Action callback = null);
|
||||
UniTaskVoid GladlyAskToStopPeacefulMusic(Action callback = null);
|
||||
UniTaskVoid PlayRandomPeacefulMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||
UniTaskVoid PlayRandomActionMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||
UniTaskVoid GladlyAskToStopGameplayMusic(Action callback = null);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user