123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- //------------------------------------------------------------
- // Game Framework
- // Copyright © 2013-2021 loyalsoft. All rights reserved.
- // Homepage: http://www.game7000.com/
- // Feedback: http://www.game7000.com/
- //------------------------------------------------------------
- namespace GameFramework.Sound
- {
- /// <summary>
- /// 播放声音参数。
- /// </summary>
- public sealed class PlaySoundParams : IReference
- {
- private bool m_Referenced;
- private float m_Time;
- private bool m_MuteInSoundGroup;
- private bool m_Loop;
- private int m_Priority;
- private float m_VolumeInSoundGroup;
- private float m_FadeInSeconds;
- private float m_Pitch;
- private float m_PanStereo;
- private float m_SpatialBlend;
- private float m_MaxDistance;
- private float m_DopplerLevel;
- /// <summary>
- /// 初始化播放声音参数的新实例。
- /// </summary>
- public PlaySoundParams()
- {
- m_Referenced = false;
- m_Time = Constant.DefaultTime;
- m_MuteInSoundGroup = Constant.DefaultMute;
- m_Loop = Constant.DefaultLoop;
- m_Priority = Constant.DefaultPriority;
- m_VolumeInSoundGroup = Constant.DefaultVolume;
- m_FadeInSeconds = Constant.DefaultFadeInSeconds;
- m_Pitch = Constant.DefaultPitch;
- m_PanStereo = Constant.DefaultPanStereo;
- m_SpatialBlend = Constant.DefaultSpatialBlend;
- m_MaxDistance = Constant.DefaultMaxDistance;
- m_DopplerLevel = Constant.DefaultDopplerLevel;
- }
- /// <summary>
- /// 获取或设置播放位置。
- /// </summary>
- public float Time
- {
- get
- {
- return m_Time;
- }
- set
- {
- m_Time = value;
- }
- }
- /// <summary>
- /// 获取或设置在声音组内是否静音。
- /// </summary>
- public bool MuteInSoundGroup
- {
- get
- {
- return m_MuteInSoundGroup;
- }
- set
- {
- m_MuteInSoundGroup = value;
- }
- }
- /// <summary>
- /// 获取或设置是否循环播放。
- /// </summary>
- public bool Loop
- {
- get
- {
- return m_Loop;
- }
- set
- {
- m_Loop = value;
- }
- }
- /// <summary>
- /// 获取或设置声音优先级。
- /// </summary>
- public int Priority
- {
- get
- {
- return m_Priority;
- }
- set
- {
- m_Priority = value;
- }
- }
- /// <summary>
- /// 获取或设置在声音组内音量大小。
- /// </summary>
- public float VolumeInSoundGroup
- {
- get
- {
- return m_VolumeInSoundGroup;
- }
- set
- {
- m_VolumeInSoundGroup = value;
- }
- }
- /// <summary>
- /// 获取或设置声音淡入时间,以秒为单位。
- /// </summary>
- public float FadeInSeconds
- {
- get
- {
- return m_FadeInSeconds;
- }
- set
- {
- m_FadeInSeconds = value;
- }
- }
- /// <summary>
- /// 获取或设置声音音调。
- /// </summary>
- public float Pitch
- {
- get
- {
- return m_Pitch;
- }
- set
- {
- m_Pitch = value;
- }
- }
- /// <summary>
- /// 获取或设置声音立体声声相。
- /// </summary>
- public float PanStereo
- {
- get
- {
- return m_PanStereo;
- }
- set
- {
- m_PanStereo = value;
- }
- }
- /// <summary>
- /// 获取或设置声音空间混合量。
- /// </summary>
- public float SpatialBlend
- {
- get
- {
- return m_SpatialBlend;
- }
- set
- {
- m_SpatialBlend = value;
- }
- }
- /// <summary>
- /// 获取或设置声音最大距离。
- /// </summary>
- public float MaxDistance
- {
- get
- {
- return m_MaxDistance;
- }
- set
- {
- m_MaxDistance = value;
- }
- }
- /// <summary>
- /// 获取或设置声音多普勒等级。
- /// </summary>
- public float DopplerLevel
- {
- get
- {
- return m_DopplerLevel;
- }
- set
- {
- m_DopplerLevel = value;
- }
- }
- internal bool Referenced
- {
- get
- {
- return m_Referenced;
- }
- }
- /// <summary>
- /// 创建播放声音参数。
- /// </summary>
- /// <returns>创建的播放声音参数。</returns>
- public static PlaySoundParams Create()
- {
- PlaySoundParams playSoundParams = ReferencePool.Acquire<PlaySoundParams>();
- playSoundParams.m_Referenced = true;
- return playSoundParams;
- }
- /// <summary>
- /// 清理播放声音参数。
- /// </summary>
- public void Clear()
- {
- m_Time = Constant.DefaultTime;
- m_MuteInSoundGroup = Constant.DefaultMute;
- m_Loop = Constant.DefaultLoop;
- m_Priority = Constant.DefaultPriority;
- m_VolumeInSoundGroup = Constant.DefaultVolume;
- m_FadeInSeconds = Constant.DefaultFadeInSeconds;
- m_Pitch = Constant.DefaultPitch;
- m_PanStereo = Constant.DefaultPanStereo;
- m_SpatialBlend = Constant.DefaultSpatialBlend;
- m_MaxDistance = Constant.DefaultMaxDistance;
- m_DopplerLevel = Constant.DefaultDopplerLevel;
- }
- }
- }
|