123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- //------------------------------------------------------------
- // Game Framework
- // Copyright © 2013-2021 loyalsoft. All rights reserved.
- // Homepage: http://www.game7000.com/
- // Feedback: http://www.game7000.com/
- //------------------------------------------------------------
- using GameFramework.Sound;
- using System;
- using UnityEngine;
- using UnityEngine.Audio;
- namespace UnityGameFramework.Runtime
- {
- /// <summary>
- /// 声音代理辅助器基类。
- /// </summary>
- public abstract class SoundAgentHelperBase : MonoBehaviour, ISoundAgentHelper
- {
- /// <summary>
- /// 获取当前是否正在播放。
- /// </summary>
- public abstract bool IsPlaying
- {
- get;
- }
- /// <summary>
- /// 获取声音长度。
- /// </summary>
- public abstract float Length
- {
- get;
- }
- /// <summary>
- /// 获取或设置播放位置。
- /// </summary>
- public abstract float Time
- {
- get;
- set;
- }
- /// <summary>
- /// 获取或设置是否静音。
- /// </summary>
- public abstract bool Mute
- {
- get;
- set;
- }
- /// <summary>
- /// 获取或设置是否循环播放。
- /// </summary>
- public abstract bool Loop
- {
- get;
- set;
- }
- /// <summary>
- /// 获取或设置声音优先级。
- /// </summary>
- public abstract int Priority
- {
- get;
- set;
- }
- /// <summary>
- /// 获取或设置音量大小。
- /// </summary>
- public abstract float Volume
- {
- get;
- set;
- }
- /// <summary>
- /// 获取或设置声音音调。
- /// </summary>
- public abstract float Pitch
- {
- get;
- set;
- }
- /// <summary>
- /// 获取或设置声音立体声声相。
- /// </summary>
- public abstract float PanStereo
- {
- get;
- set;
- }
- /// <summary>
- /// 获取或设置声音空间混合量。
- /// </summary>
- public abstract float SpatialBlend
- {
- get;
- set;
- }
- /// <summary>
- /// 获取或设置声音最大距离。
- /// </summary>
- public abstract float MaxDistance
- {
- get;
- set;
- }
- /// <summary>
- /// 获取或设置声音多普勒等级。
- /// </summary>
- public abstract float DopplerLevel
- {
- get;
- set;
- }
- /// <summary>
- /// 获取或设置声音代理辅助器所在的混音组。
- /// </summary>
- public abstract AudioMixerGroup AudioMixerGroup
- {
- get;
- set;
- }
- /// <summary>
- /// 重置声音代理事件。
- /// </summary>
- public abstract event EventHandler<ResetSoundAgentEventArgs> ResetSoundAgent;
- /// <summary>
- /// 播放声音。
- /// </summary>
- /// <param name="fadeInSeconds">声音淡入时间,以秒为单位。</param>
- public abstract void Play(float fadeInSeconds);
- /// <summary>
- /// 停止播放声音。
- /// </summary>
- /// <param name="fadeOutSeconds">声音淡出时间,以秒为单位。</param>
- public abstract void Stop(float fadeOutSeconds);
- /// <summary>
- /// 暂停播放声音。
- /// </summary>
- /// <param name="fadeOutSeconds">声音淡出时间,以秒为单位。</param>
- public abstract void Pause(float fadeOutSeconds);
- /// <summary>
- /// 恢复播放声音。
- /// </summary>
- /// <param name="fadeInSeconds">声音淡入时间,以秒为单位。</param>
- public abstract void Resume(float fadeInSeconds);
- /// <summary>
- /// 重置声音代理辅助器。
- /// </summary>
- public abstract void Reset();
- /// <summary>
- /// 设置声音资源。
- /// </summary>
- /// <param name="soundAsset">声音资源。</param>
- /// <returns>是否设置声音资源成功。</returns>
- public abstract bool SetSoundAsset(object soundAsset);
- /// <summary>
- /// 设置声音绑定的实体。
- /// </summary>
- /// <param name="bindingEntity">声音绑定的实体。</param>
- public abstract void SetBindingEntity(Entity bindingEntity);
- /// <summary>
- /// 设置声音所在的世界坐标。
- /// </summary>
- /// <param name="worldPosition">声音所在的世界坐标。</param>
- public abstract void SetWorldPosition(Vector3 worldPosition);
- }
- }
|