//------------------------------------------------------------ // 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 { /// /// 播放声音成功事件。 /// public sealed class PlaySoundSuccessEventArgs : GameEventArgs { /// /// 播放声音成功事件编号。 /// public static readonly int EventId = typeof(PlaySoundSuccessEventArgs).GetHashCode(); /// /// 初始化播放声音成功事件的新实例。 /// public PlaySoundSuccessEventArgs() { SerialId = 0; SoundAssetName = null; SoundAgent = null; Duration = 0f; BindingEntity = null; UserData = null; } /// /// 获取播放声音成功事件编号。 /// public override int Id { get { return EventId; } } /// /// 获取声音的序列编号。 /// public int SerialId { get; private set; } /// /// 获取声音资源名称。 /// public string SoundAssetName { get; private set; } /// /// 获取用于播放的声音代理。 /// public ISoundAgent SoundAgent { get; private set; } /// /// 获取加载持续时间。 /// public float Duration { get; private set; } /// /// 获取声音绑定的实体。 /// public Entity BindingEntity { get; private set; } /// /// 获取用户自定义数据。 /// public object UserData { get; private set; } /// /// 创建播放声音成功事件。 /// /// 内部事件。 /// 创建的播放声音成功事件。 public static PlaySoundSuccessEventArgs Create(GameFramework.Sound.PlaySoundSuccessEventArgs e) { PlaySoundInfo playSoundInfo = (PlaySoundInfo)e.UserData; PlaySoundSuccessEventArgs playSoundSuccessEventArgs = ReferencePool.Acquire(); 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; } /// /// 清理播放声音成功事件。 /// public override void Clear() { SerialId = 0; SoundAssetName = null; SoundAgent = null; Duration = 0f; BindingEntity = null; UserData = null; } } }