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

99 lines
2.4 KiB
C#
Raw Normal View History

2024-01-19 17:25:06 +08:00
using System;
using Cysharp.Threading.Tasks;
using PhxhSDK;
2023-08-22 19:08:45 +08:00
using UnityEngine;
public class AudioManager: Singlenton<AudioManager>, IStart, IInitable, IUpdatable, IAudioPlay
2023-08-22 19:08:45 +08:00
{
private AudioCriwareManager _audioMgrObj = new AudioCriwareManager();
2023-08-22 19:08:45 +08:00
public GameObject initGameObject;
2024-01-19 17:25:06 +08:00
private void AfterSwitchCamera(bool isRegister = true)
{
if (isRegister)
{
CameraManager.Instance.AfterSwitchMainCamera += _audioMgrObj.AfterSwitchMainCamera;
}
else
{
CameraManager.Instance.AfterSwitchMainCamera -= _audioMgrObj.AfterSwitchMainCamera;
}
}
2023-08-22 19:08:45 +08:00
public void Init()
{
_audioMgrObj.Init();
2024-01-19 17:25:06 +08:00
AfterSwitchCamera();
2023-08-22 19:08:45 +08:00
}
2023-08-22 19:08:45 +08:00
public void Release()
{
_audioMgrObj.Release();
2024-01-19 17:25:06 +08:00
AfterSwitchCamera(false);
2023-10-19 15:00:19 +08:00
}
public void Start()
2023-08-22 19:08:45 +08:00
{
_audioMgrObj.Start();
initGameObject = _audioMgrObj.initGameObject;
2023-08-22 19:08:45 +08:00
}
public void Update(float dt)
2023-08-22 19:08:45 +08:00
{
_audioMgrObj.Update(dt);
2023-08-22 19:08:45 +08:00
}
public float GlobalVolume
2023-08-22 19:08:45 +08:00
{
get { return _audioMgrObj.GlobalVolume; }
set { _audioMgrObj.GlobalVolume = value; }
2023-08-22 19:08:45 +08:00
}
public float GlobalMusicVolume
2023-08-22 19:08:45 +08:00
{
get { return _audioMgrObj.GlobalMusicVolume; }
set { _audioMgrObj.GlobalMusicVolume = value; }
2023-08-22 19:08:45 +08:00
}
public float GlobalSoundsVolume
2023-08-22 19:08:45 +08:00
{
get { return _audioMgrObj.GlobalSoundsVolume; }
set { _audioMgrObj.GlobalSoundsVolume = value; }
2023-08-22 19:08:45 +08:00
}
2023-12-13 15:14:52 +08:00
public bool GlobalIsSpeakOpen
{
get { return _audioMgrObj.GlobalIsOpenSpeak; }
set { _audioMgrObj.GlobalIsOpenSpeak = value; }
}
2023-10-19 15:00:19 +08:00
2023-08-22 19:08:45 +08:00
public void SetMusicEnable(bool isEnable)
{
GlobalMusicVolume = isEnable ? 1 : 0;
}
public void SetSoundEnable(bool isEnable)
{
GlobalSoundsVolume = isEnable ? 1 : 0;
}
2023-11-15 18:36:43 +08:00
public async UniTask<int> PlayAudio(string key, Transform trans = null)
2023-08-22 19:08:45 +08:00
{
return await _audioMgrObj.PlayAudio(key, trans);
2023-10-19 15:00:19 +08:00
}
2023-11-15 18:36:43 +08:00
public async UniTask<int> PlayAudio(string key, Vector3 pos)
2023-10-19 15:00:19 +08:00
{
return await _audioMgrObj.PlayAudio(key, pos);
2023-10-19 15:00:19 +08:00
}
public async UniTask<int> PlayAudio(int id, Transform trans = null)
2023-10-19 15:00:19 +08:00
{
return await _audioMgrObj.PlayAudio(id, trans);
2023-10-24 18:53:34 +08:00
}
public async UniTask<int> PlayAudio(int id, Vector3 pos)
2023-10-19 15:00:19 +08:00
{
return await _audioMgrObj.PlayAudio(id, pos);
2023-10-19 15:00:19 +08:00
}
}