/// <summary>
        /// 播放声音。
        /// </summary>
        /// <param name="soundAssetName">声音资源名称。</param>
        /// <param name="soundGroupName">声音组名称。</param>
        /// <param name="priority">加载声音资源的优先级。</param>
        /// <param name="playSoundParams">播放声音参数。</param>
        /// <param name="bindingEntity">声音绑定的实体。</param>
        /// <param name="userData">用户自定义数据。</param>
        /// <returns>声音的序列编号。</returns>
        public int PlaySound(string soundAssetName, string soundGroupName, int priority, PlaySoundParams playSoundParams, Entity bindingEntity, object userData)
        {
            PlaySoundInfo playSoundInfo = ReferencePool.Acquire <PlaySoundInfo>();

            playSoundInfo.Initialize(bindingEntity, Vector3.zero, userData);
            return(m_SoundManager.PlaySound(soundAssetName, soundGroupName, priority, playSoundParams, playSoundInfo));
        }
        /// <summary>
        /// 播放声音。
        /// </summary>
        /// <param name="soundAssetName">声音资源名称。</param>
        /// <param name="soundGroupName">声音组名称。</param>
        /// <param name="priority">加载声音资源的优先级。</param>
        /// <param name="playSoundParams">播放声音参数。</param>
        /// <param name="worldPosition">声音所在的世界坐标。</param>
        /// <param name="userData">用户自定义数据。</param>
        /// <returns>声音的序列编号。</returns>
        public int PlaySound(string soundAssetName, string soundGroupName, int priority, PlaySoundParams playSoundParams, Vector3 worldPosition, object userData)
        {
            PlaySoundInfo playSoundInfo = ReferencePool.Acquire <PlaySoundInfo>();

            playSoundInfo.Initialize(null, worldPosition, userData);
            return(m_SoundManager.PlaySound(soundAssetName, soundGroupName, priority, playSoundParams, playSoundInfo));
        }
Пример #3
0
        public static PlaySoundInfo Create(Entity bindingEntity, Vector3 worldPosition, object userData)
        {
            PlaySoundInfo playSoundInfo = ReferencePool.Acquire <PlaySoundInfo>();

            playSoundInfo.m_BindingEntity = bindingEntity;
            playSoundInfo.m_WorldPosition = worldPosition;
            playSoundInfo.m_UserData      = userData;
            return(playSoundInfo);
        }
        /// <summary>
        /// 初始化播放声音成功事件的新实例。
        /// </summary>
        /// <param name="e">内部事件。</param>
        public PlaySoundSuccessEventArgs(GameFramework.Sound.PlaySoundSuccessEventArgs e)
        {
            PlaySoundInfo playSoundInfo = e.UserData as PlaySoundInfo;

            SerialId       = e.SerialId;
            SoundAssetName = e.SoundAssetName;
            SoundAgent     = e.SoundAgent;
            BindingEntity  = playSoundInfo.BindingEntity;
            UserData       = playSoundInfo.UserData;
        }
Пример #5
0
        private void OnPlaySoundSuccess(object sender, GameFramework.Sound.PlaySoundSuccessEventArgs e)
        {
            PlaySoundInfo playSoundInfo = e.UserData as PlaySoundInfo;

            if (playSoundInfo != null && playSoundInfo.BindingEntity != null)
            {
                e.SoundAgent.SetBindingEntity(playSoundInfo.BindingEntity);
            }

            m_EventComponent.Fire(this, new PlaySoundSuccessEventArgs(e));
        }
        /// <summary>
        /// 初始化播放声音更新事件的新实例。
        /// </summary>
        /// <param name="e">内部事件。</param>
        public PlaySoundUpdateEventArgs(GameFramework.Sound.PlaySoundUpdateEventArgs e)
        {
            PlaySoundInfo playSoundInfo = (PlaySoundInfo)e.UserData;

            SerialId        = e.SerialId;
            SoundAssetName  = e.SoundAssetName;
            SoundGroupName  = e.SoundGroupName;
            PlaySoundParams = e.PlaySoundParams;
            Progress        = e.Progress;
            BindingEntity   = playSoundInfo.BindingEntity;
            UserData        = playSoundInfo.UserData;
        }
        /// <summary>
        /// 初始化播放声音失败事件的新实例。
        /// </summary>
        /// <param name="e">内部事件。</param>
        public PlaySoundFailureEventArgs(GameFramework.Sound.PlaySoundFailureEventArgs e)
        {
            PlaySoundInfo playSoundInfo = e.UserData as PlaySoundInfo;

            SerialId        = e.SerialId;
            SoundAssetName  = e.SoundAssetName;
            SoundGroupName  = e.SoundGroupName;
            PlaySoundParams = e.PlaySoundParams;
            BindingEntity   = playSoundInfo.BindingEntity;
            ErrorCode       = e.ErrorCode;
            ErrorMessage    = e.ErrorMessage;
            UserData        = playSoundInfo.UserData;
        }
        /// <summary>
        /// 填充播放声音成功事件。
        /// </summary>
        /// <param name="e">内部事件。</param>
        /// <returns>播放声音成功事件。</returns>
        public PlaySoundSuccessEventArgs Fill(GameFramework.Sound.PlaySoundSuccessEventArgs e)
        {
            PlaySoundInfo playSoundInfo = (PlaySoundInfo)e.UserData;

            SerialId       = e.SerialId;
            SoundAssetName = e.SoundAssetName;
            SoundAgent     = e.SoundAgent;
            Duration       = e.Duration;
            BindingEntity  = playSoundInfo.BindingEntity;
            UserData       = playSoundInfo.UserData;

            return(this);
        }
Пример #9
0
        /// <summary>
        /// 初始化播放声音时加载依赖资源事件的新实例。
        /// </summary>
        /// <param name="e">内部事件。</param>
        public PlaySoundDependencyAssetEventArgs(GameFramework.Sound.PlaySoundDependencyAssetEventArgs e)
        {
            PlaySoundInfo playSoundInfo = (PlaySoundInfo)e.UserData;

            SerialId            = e.SerialId;
            SoundAssetName      = e.SoundAssetName;
            SoundGroupName      = e.SoundGroupName;
            PlaySoundParams     = e.PlaySoundParams;
            DependencyAssetName = e.DependencyAssetName;
            LoadedCount         = e.LoadedCount;
            TotalCount          = e.TotalCount;
            BindingEntity       = playSoundInfo.BindingEntity;
            UserData            = playSoundInfo.UserData;
        }
        /// <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>
        /// <param name="e">内部事件。</param>
        /// <returns>创建的播放声音更新事件。</returns>
        public static PlaySoundUpdateEventArgs Create(GameFramework.Sound.PlaySoundUpdateEventArgs e)
        {
            PlaySoundInfo            playSoundInfo            = (PlaySoundInfo)e.UserData;
            PlaySoundUpdateEventArgs playSoundUpdateEventArgs = ReferencePool.Acquire <PlaySoundUpdateEventArgs>();

            playSoundUpdateEventArgs.SerialId        = e.SerialId;
            playSoundUpdateEventArgs.SoundAssetName  = e.SoundAssetName;
            playSoundUpdateEventArgs.SoundGroupName  = e.SoundGroupName;
            playSoundUpdateEventArgs.PlaySoundParams = e.PlaySoundParams;
            playSoundUpdateEventArgs.Progress        = e.Progress;
            playSoundUpdateEventArgs.BindingEntity   = playSoundInfo.BindingEntity;
            playSoundUpdateEventArgs.UserData        = playSoundInfo.UserData;
            return(playSoundUpdateEventArgs);
        }
        /// <summary>
        /// 创建播放声音失败事件。
        /// </summary>
        /// <param name="e">内部事件。</param>
        /// <returns>创建的播放声音失败事件。</returns>
        public static PlaySoundFailureEventArgs Create(GameFramework.Sound.PlaySoundFailureEventArgs e)
        {
            PlaySoundInfo             playSoundInfo             = (PlaySoundInfo)e.UserData;
            PlaySoundFailureEventArgs playSoundFailureEventArgs = ReferencePool.Acquire <PlaySoundFailureEventArgs>();

            playSoundFailureEventArgs.SerialId        = e.SerialId;
            playSoundFailureEventArgs.SoundAssetName  = e.SoundAssetName;
            playSoundFailureEventArgs.SoundGroupName  = e.SoundGroupName;
            playSoundFailureEventArgs.PlaySoundParams = e.PlaySoundParams;
            playSoundFailureEventArgs.BindingEntity   = playSoundInfo.BindingEntity;
            playSoundFailureEventArgs.ErrorCode       = e.ErrorCode;
            playSoundFailureEventArgs.ErrorMessage    = e.ErrorMessage;
            playSoundFailureEventArgs.UserData        = playSoundInfo.UserData;
            ReferencePool.Release(playSoundInfo);
            return(playSoundFailureEventArgs);
        }
Пример #13
0
        /// <summary>
        /// 填充播放声音失败事件。
        /// </summary>
        /// <param name="e">内部事件。</param>
        /// <returns>播放声音失败事件。</returns>
        public PlaySoundFailureEventArgs Fill(GameFramework.Sound.PlaySoundFailureEventArgs e)
        {
            PlaySoundInfo playSoundInfo = (PlaySoundInfo)e.UserData;

            SerialId        = e.SerialId;
            SoundAssetName  = e.SoundAssetName;
            SoundGroupName  = e.SoundGroupName;
            PlaySoundParams = e.PlaySoundParams;
            BindingEntity   = playSoundInfo.BindingEntity;
            ErrorCode       = e.ErrorCode;
            ErrorMessage    = e.ErrorMessage;
            UserData        = playSoundInfo.UserData;

            ReferencePool.Release(playSoundInfo);
            return(this);
        }
        /// <summary>
        /// 创建播放声音时加载依赖资源事件。
        /// </summary>
        /// <param name="e">内部事件。</param>
        /// <returns>创建的播放声音时加载依赖资源事件。</returns>
        public static PlaySoundDependencyAssetEventArgs Create(GameFramework.Sound.PlaySoundDependencyAssetEventArgs e)
        {
            PlaySoundInfo playSoundInfo = (PlaySoundInfo)e.UserData;
            PlaySoundDependencyAssetEventArgs playSoundDependencyAssetEventArgs = ReferencePool.Acquire <PlaySoundDependencyAssetEventArgs>();

            playSoundDependencyAssetEventArgs.SerialId            = e.SerialId;
            playSoundDependencyAssetEventArgs.SoundAssetName      = e.SoundAssetName;
            playSoundDependencyAssetEventArgs.SoundGroupName      = e.SoundGroupName;
            playSoundDependencyAssetEventArgs.PlaySoundParams     = e.PlaySoundParams;
            playSoundDependencyAssetEventArgs.DependencyAssetName = e.DependencyAssetName;
            playSoundDependencyAssetEventArgs.LoadedCount         = e.LoadedCount;
            playSoundDependencyAssetEventArgs.TotalCount          = e.TotalCount;
            playSoundDependencyAssetEventArgs.BindingEntity       = playSoundInfo.BindingEntity;
            playSoundDependencyAssetEventArgs.UserData            = playSoundInfo.UserData;
            return(playSoundDependencyAssetEventArgs);
        }
Пример #15
0
        private void OnPlaySoundSuccess(object sender, GameFramework.Sound.PlaySoundSuccessEventArgs e)
        {
            PlaySoundInfo playSoundInfo = (PlaySoundInfo)e.UserData;

            if (playSoundInfo != null)
            {
                SoundAgentHelperBase soundAgentHelper = (SoundAgentHelperBase)e.SoundAgent.Helper;
                if (playSoundInfo.BindingEntity != null)
                {
                    soundAgentHelper.SetBindingEntity(playSoundInfo.BindingEntity);
                }
                else
                {
                    soundAgentHelper.SetWorldPosition(playSoundInfo.WorldPosition);
                }
            }

            m_EventComponent.Fire(this, PlaySoundSuccessEventArgs.Create(e));
        }
Пример #16
0
        private void OnPlaySoundSuccess(object sender, GameFramework.Sound.PlaySoundSuccessEventArgs e)
        {
            PlaySoundInfo playSoundInfo = (PlaySoundInfo)e.UserData;

            if (playSoundInfo != null)
            {
                SoundAgentHelperBase soundAgentHelper = (SoundAgentHelperBase)e.SoundAgent.Helper;
                if (playSoundInfo.BindingEntity != null)
                {
                    soundAgentHelper.SetBindingEntity(playSoundInfo.BindingEntity);
                }
                else
                {
                    soundAgentHelper.SetWorldPosition(playSoundInfo.WorldPosition);
                }
            }

            if (m_EnablePlaySoundSuccessEvent)
            {
                m_EventComponent.Fire(this, ReferencePool.Acquire <PlaySoundSuccessEventArgs>().Fill(e));
            }
        }
Пример #17
0
 /// <summary>
 /// 播放声音。
 /// </summary>
 /// <param name="soundAssetName">声音资源名称。</param>
 /// <param name="soundGroupName">声音组名称。</param>
 /// <param name="priority">加载声音资源的优先级。</param>
 /// <param name="playSoundParams">播放声音参数。</param>
 /// <param name="worldPosition">声音所在的世界坐标。</param>
 /// <param name="userData">用户自定义数据。</param>
 /// <returns>声音的序列编号。</returns>
 public int PlaySound(string soundAssetName, string soundGroupName, int priority, PlaySoundParams playSoundParams, Vector3 worldPosition, object userData)
 {
     return(m_SoundManager.PlaySound(soundAssetName, soundGroupName, priority, playSoundParams, PlaySoundInfo.Create(null, worldPosition, userData)));
 }
Пример #18
0
 /// <summary>
 /// 播放声音。
 /// </summary>
 /// <param name="soundAssetName">声音资源名称。</param>
 /// <param name="soundGroupName">声音组名称。</param>
 /// <param name="priority">加载声音资源的优先级。</param>
 /// <param name="playSoundParams">播放声音参数。</param>
 /// <param name="bindingEntity">声音绑定的实体。</param>
 /// <param name="userData">用户自定义数据。</param>
 /// <returns>声音的序列编号。</returns>
 public int PlaySound(string soundAssetName, string soundGroupName, int priority, PlaySoundParams playSoundParams, Entity bindingEntity, object userData)
 {
     return(m_SoundManager.PlaySound(soundAssetName, soundGroupName, priority, playSoundParams, PlaySoundInfo.Create(bindingEntity, Vector3.zero, userData)));
 }