You've already forked taptap2024_GJ_chidouren
init
This commit is contained in:
69
Assets/Scripts/Views/Common/CommonAudioModule.cs
Normal file
69
Assets/Scripts/Views/Common/CommonAudioModule.cs
Normal file
@@ -0,0 +1,69 @@
|
||||
using System;
|
||||
using Framework.Audio;
|
||||
using Framework.Timer;
|
||||
using Framework.Utils.Extend;
|
||||
using IcecreamView;
|
||||
using UnityEngine;
|
||||
using AudioType = Framework.Audio.AudioType;
|
||||
|
||||
namespace Views.Common
|
||||
{
|
||||
public class CommonAudioModule : IcecreamView.IC_AbstractModule
|
||||
{
|
||||
[Serializable]
|
||||
public class AudioData
|
||||
{
|
||||
public SeAudio AudioName = SeAudio.None;
|
||||
public bool IsLoop = false;
|
||||
public float Volume = 1;
|
||||
public float Delay = 0;
|
||||
|
||||
public AudioData (SeAudio audioName)
|
||||
{
|
||||
this.AudioName = audioName;
|
||||
}
|
||||
}
|
||||
|
||||
private TimeHandler _timeHandler;
|
||||
[Header("页面打开时,环境音效缩放系数")]
|
||||
public float BseVolumeScaleOffset = 1;
|
||||
[Header("页面打开时,环境音效缩放时间")]
|
||||
public float BseVolumeScaleTime = 0.35f;
|
||||
|
||||
[SerializeField] private AudioData _openAudioData = new AudioData (SeAudio.PanelPop_Pop01);
|
||||
[SerializeField] private AudioData _closeAudioData= new AudioData (SeAudio.PanelPop_Pop02);
|
||||
|
||||
public override void OnOpenView (IC_ViewData msgData)
|
||||
{
|
||||
if (!BseVolumeScaleOffset.Compare(1f))
|
||||
{
|
||||
// AudioManager.Instance.SetGroupVolume(AudioType.BSE , AudioManager.Instance.BSEValue * BseVolumeScaleOffset , BseVolumeScaleTime);
|
||||
AudioManager.Instance.SetGlobalVolume(AudioType.BGM , AudioManager.Instance.MusicValue * BseVolumeScaleOffset , BseVolumeScaleTime);
|
||||
}
|
||||
|
||||
_timeHandler?.Kill ();
|
||||
if (_openAudioData.AudioName != SeAudio.None)
|
||||
{
|
||||
_timeHandler = GameUpdateMgr.Instance.CreateTimer (_openAudioData.Delay , () =>
|
||||
{
|
||||
AudioManager.Instance.PlaySoundEffect (_openAudioData.AudioName , _openAudioData.Volume , 0 , _openAudioData.IsLoop);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnCloseView ()
|
||||
{
|
||||
if (!BseVolumeScaleOffset.Compare(1f))
|
||||
{
|
||||
// AudioManager.Instance.SetGroupVolume(AudioType.BSE , AudioManager.Instance.BSEValue , BseVolumeScaleTime);
|
||||
AudioManager.Instance.SetGlobalVolume(AudioType.BGM , AudioManager.Instance.MusicValue , BseVolumeScaleTime);
|
||||
}
|
||||
|
||||
_timeHandler?.Kill ();
|
||||
if (_closeAudioData.AudioName != SeAudio.None)
|
||||
{
|
||||
AudioManager.Instance.PlaySoundEffect (_closeAudioData.AudioName , _closeAudioData.Volume , 0 , _closeAudioData.IsLoop);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user