音频回调与音效音量初始化问题解决
This commit is contained in:
@@ -80,7 +80,7 @@ namespace Stary.Evo.AudioCore
|
||||
if (poolDict[type].Count == 0)
|
||||
{
|
||||
// 如果池为空,动态创建新的 GameObject(仅限 SFX 与 Voice)
|
||||
if (type == "SFX" && type == "Voice")
|
||||
if (type == "SFX" || type == "Voice")
|
||||
{
|
||||
CreateAudioSource(type);
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Stary.Evo.AudioCore
|
||||
/// [onComplete:回调行为], [delayOnCompleteTime:延迟回调执行的时间]}</param>
|
||||
public override void Play(AudioData audioData)
|
||||
{
|
||||
audioData = AudioDataInitialize(audioData);
|
||||
AudioSource source = audioSourcePool.GetAudioSource("SFX");
|
||||
if (source == null) return;
|
||||
|
||||
@@ -62,9 +63,8 @@ namespace Stary.Evo.AudioCore
|
||||
private IEnumerator PlaySFXCoroutine(AudioSource source, float delay, System.Action onComplete)
|
||||
{
|
||||
yield return new WaitForSeconds(source.clip.length + delay);
|
||||
|
||||
onComplete?.Invoke();
|
||||
audioSourcePool.ReturnAudioSource("SFX", source.gameObject);
|
||||
onComplete?.Invoke();
|
||||
activeSources.Remove(source);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,9 +66,8 @@ namespace Stary.Evo.AudioCore
|
||||
private IEnumerator PlayVoiceCoroutine(AudioSource source, float delayOnComplete, System.Action onComplete)
|
||||
{
|
||||
yield return new WaitForSeconds(source.clip.length + delayOnComplete);
|
||||
|
||||
onComplete?.Invoke();
|
||||
audioSourcePool.ReturnAudioSource("Voice", source.gameObject);
|
||||
onComplete?.Invoke();
|
||||
currentSource = null;
|
||||
myCoroutine = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user