123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- //------------------------------------------------------------
- // Game Framework
- // Copyright © 2013-2021 loyalsoft. All rights reserved.
- // Homepage: http://www.game7000.com/
- // Feedback: http://www.game7000.com/
- //------------------------------------------------------------
- using GameFramework;
- using GameFramework.Event;
- using GameFramework.Sound;
- namespace UnityGameFramework.Runtime
- {
- /// <summary>
- /// 播放声音成功事件。
- /// </summary>
- public sealed class PlaySoundSuccessEventArgs : GameEventArgs
- {
- /// <summary>
- /// 播放声音成功事件编号。
- /// </summary>
- public static readonly int EventId = typeof(PlaySoundSuccessEventArgs).GetHashCode();
- /// <summary>
- /// 初始化播放声音成功事件的新实例。
- /// </summary>
- public PlaySoundSuccessEventArgs()
- {
- SerialId = 0;
- SoundAssetName = null;
- SoundAgent = null;
- Duration = 0f;
- BindingEntity = null;
- UserData = null;
- }
- /// <summary>
- /// 获取播放声音成功事件编号。
- /// </summary>
- public override int Id
- {
- get
- {
- return EventId;
- }
- }
- /// <summary>
- /// 获取声音的序列编号。
- /// </summary>
- public int SerialId
- {
- get;
- private set;
- }
- /// <summary>
- /// 获取声音资源名称。
- /// </summary>
- public string SoundAssetName
- {
- get;
- private set;
- }
- /// <summary>
- /// 获取用于播放的声音代理。
- /// </summary>
- public ISoundAgent SoundAgent
- {
- get;
- private set;
- }
- /// <summary>
- /// 获取加载持续时间。
- /// </summary>
- public float Duration
- {
- get;
- private set;
- }
- /// <summary>
- /// 获取声音绑定的实体。
- /// </summary>
- public Entity BindingEntity
- {
- get;
- private set;
- }
- /// <summary>
- /// 获取用户自定义数据。
- /// </summary>
- public object UserData
- {
- get;
- private set;
- }
- /// <summary>
- /// 创建播放声音成功事件。
- /// </summary>
- /// <param name="e">内部事件。</param>
- /// <returns>创建的播放声音成功事件。</returns>
- public static PlaySoundSuccessEventArgs Create(GameFramework.Sound.PlaySoundSuccessEventArgs e)
- {
- PlaySoundInfo playSoundInfo = (PlaySoundInfo)e.UserData;
- PlaySoundSuccessEventArgs playSoundSuccessEventArgs = ReferencePool.Acquire<PlaySoundSuccessEventArgs>();
- playSoundSuccessEventArgs.SerialId = e.SerialId;
- playSoundSuccessEventArgs.SoundAssetName = e.SoundAssetName;
- playSoundSuccessEventArgs.SoundAgent = e.SoundAgent;
- playSoundSuccessEventArgs.Duration = e.Duration;
- playSoundSuccessEventArgs.BindingEntity = playSoundInfo.BindingEntity;
- playSoundSuccessEventArgs.UserData = playSoundInfo.UserData;
- ReferencePool.Release(playSoundInfo);
- return playSoundSuccessEventArgs;
- }
- /// <summary>
- /// 清理播放声音成功事件。
- /// </summary>
- public override void Clear()
- {
- SerialId = 0;
- SoundAssetName = null;
- SoundAgent = null;
- Duration = 0f;
- BindingEntity = null;
- UserData = null;
- }
- }
- }
|