NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Framework/Audio/AudioManager.cs

77 lines
1.8 KiB
C#

using Cysharp.Threading.Tasks;
using PhxhSDK;
using UnityEngine;
public class AudioManager: Singlenton<AudioManager>, IStart, IInitable, IUpdatable, IAudioPlay
{
private AudioCriwareManager _audioMgrObj = new AudioCriwareManager();
public GameObject initGameObject;
public void Init()
{
_audioMgrObj.Init();
}
public void Release()
{
_audioMgrObj.Release();
}
public void Start()
{
_audioMgrObj.Start();
initGameObject = _audioMgrObj.initGameObject;
}
public void Update(float dt)
{
_audioMgrObj.Update(dt);
}
public float GlobalVolume
{
get { return _audioMgrObj.GlobalVolume; }
set { _audioMgrObj.GlobalVolume = value; }
}
public float GlobalMusicVolume
{
get { return _audioMgrObj.GlobalMusicVolume; }
set { _audioMgrObj.GlobalMusicVolume = value; }
}
public float GlobalSoundsVolume
{
get { return _audioMgrObj.GlobalSoundsVolume; }
set { _audioMgrObj.GlobalSoundsVolume = value; }
}
public void SetMusicEnable(bool isEnable)
{
GlobalMusicVolume = isEnable ? 1 : 0;
}
public void SetSoundEnable(bool isEnable)
{
GlobalSoundsVolume = isEnable ? 1 : 0;
}
public async UniTask<int> PlayAudio(string key, Transform trans = null)
{
return await _audioMgrObj.PlayAudio(key, trans);
}
public async UniTask<int> PlayAudio(string key, Vector3 pos)
{
return await _audioMgrObj.PlayAudio(key, pos);
}
public async UniTask<int> PlayAudio(int id, Transform trans = null)
{
return await _audioMgrObj.PlayAudio(id, trans);
}
public async UniTask<int> PlayAudio(int id, Vector3 pos)
{
return await _audioMgrObj.PlayAudio(id, pos);
}
}