Files
CourierOld/Game/CourierOld/Assets/Code/Audio/IAudioService.cs
T
2025-11-27 21:30:00 +03:00

27 lines
1.1 KiB
C#

using System;
using Cysharp.Threading.Tasks;
using UnityEngine;
namespace Code.Audio
{
public interface IAudioService
{
UniTask Initialize();
UniTaskVoid PlayRandomMusicUntilHumanityWillBeDestroyedForTheySins(MusicType musicType);
UniTaskVoid GladlyAskToStopMusic(MusicType musicType, AudioSnapshotState audioSnapshotState = AudioSnapshotState.None, float time = 1f, Action callback = null);
void StopMusic();
void GladlyAskToStopMusic(Action callback = null);
void TransitToSnapshot(AudioSnapshotState state, float time = 1f);
void PlaySFX(SFXSounds sfxId, Vector3 position);
void PlayEnemy(EnemiesSounds enemySoundId, Vector3 position);
delegate void OnAudioPlayingDelegate();
event OnAudioPlayingDelegate OnDispatcherStarted;
event OnAudioPlayingDelegate OnDispatcherEnded;
void PlayDispatcher(DispatcherSounds dispatcherSoundId);
void ChangeSetting(AudioType type, float value);
float GetSetting(AudioType type);
void PlayTestClip(AudioType audioType);
}
}