예제 #1
0
 private void OnPhotonDebugReturn(object sender, GameFramework.Photon.PhotonDebugReturnEventArgs e)
 {
     m_EventComponent.Fire(this, ReferencePool.Acquire <PhotonDebugReturnEventArgs>().Fill(e));
 }
        /// <summary>
        /// 创建加载资源代理辅助器错误事件。
        /// </summary>
        /// <param name="status">加载资源状态。</param>
        /// <param name="errorMessage">错误信息。</param>
        /// <returns>创建的加载资源代理辅助器错误事件。</returns>
        public static InnerLoadResourceAgentHelperErrorEventArgs Create(LoadResourceStatus status, string errorMessage)
        {
            InnerLoadResourceAgentHelperErrorEventArgs loadResourceAgentHelperErrorEventArgs = ReferencePool.Acquire <InnerLoadResourceAgentHelperErrorEventArgs>();

            loadResourceAgentHelperErrorEventArgs.Status       = status;
            loadResourceAgentHelperErrorEventArgs.ErrorMessage = errorMessage;
            return(loadResourceAgentHelperErrorEventArgs);
        }
예제 #3
0
 private void OnWebRequestFailure(object sender, GameFramework.WebRequest.WebRequestFailureEventArgs e)
 {
     Log.Warning("Web request failure, web request serial id '{0}', web request uri '{1}', error message '{2}'.", e.SerialId.ToString(), e.WebRequestUri, e.ErrorMessage);
     m_EventComponent.Fire(this, ReferencePool.Acquire <WebRequestFailureEventArgs>().Fill(e));
 }
 /// <summary>
 /// 反序列消息包头。
 /// </summary>
 /// <param name="source">要反序列化的来源流。</param>
 /// <param name="customErrorData">用户自定义错误数据。</param>
 /// <returns></returns>
 public IPacketHeader DeserializePacketHeader(Stream source, out object customErrorData)
 {
     // 注意:此函数并不在主线程调用!
     customErrorData = null;
     return((IPacketHeader)RuntimeTypeModel.Default.Deserialize(source, ReferencePool.Acquire <SCPacketHeader>(), typeof(SCPacketHeader)));
 }
 /// <summary>
 /// 发送心跳消息包。
 /// </summary>
 /// <returns>是否发送心跳消息包成功。</returns>
 public bool SendHeartBeat()
 {
     m_NetworkChannel.Send(ReferencePool.Acquire <CSHeartBeat>());
     return(true);
 }
        /// <summary>
        /// 创建下载代理辅助器更新数据大小事件。
        /// </summary>
        /// <param name="deltaLength">下载的增量数据大小。</param>
        /// <returns>创建的下载代理辅助器更新数据大小事件。</returns>
        public static DownloadAgentHelperUpdateLengthEventArgs Create(int deltaLength)
        {
            if (deltaLength <= 0)
            {
                throw new GameFrameworkException("Delta length is invalid.");
            }

            DownloadAgentHelperUpdateLengthEventArgs downloadAgentHelperUpdateLengthEventArgs = ReferencePool.Acquire <DownloadAgentHelperUpdateLengthEventArgs>();

            downloadAgentHelperUpdateLengthEventArgs.DeltaLength = deltaLength;
            return(downloadAgentHelperUpdateLengthEventArgs);
        }
 private void OnDownloadSuccess(object sender, GameFramework.Download.DownloadSuccessEventArgs e)
 {
     m_EventComponent.Fire(this, ReferencePool.Acquire <DownloadSuccessEventArgs>().Fill(e));
 }
 private void OnNetworkMissHeartBeat(object sender, GameFramework.Network.NetworkMissHeartBeatEventArgs e)
 {
     m_EventComponent.Fire(this, ReferencePool.Acquire <NetworkMissHeartBeatEventArgs>().Fill(e));
 }
 private void OnNetworkCustomError(object sender, GameFramework.Network.NetworkCustomErrorEventArgs e)
 {
     m_EventComponent.Fire(this, ReferencePool.Acquire <NetworkCustomErrorEventArgs>().Fill(e));
 }
예제 #10
0
        /// <summary>
        /// 创建加载资源代理辅助器异步将资源二进制流转换为加载对象完成事件。
        /// </summary>
        /// <param name="resource">资源对象。</param>
        /// <returns>创建的加载资源代理辅助器异步将资源二进制流转换为加载对象完成事件。</returns>
        public static LoadResourceAgentHelperParseBytesCompleteEventArgs Create(object resource)
        {
            LoadResourceAgentHelperParseBytesCompleteEventArgs loadResourceAgentHelperParseBytesCompleteEventArgs = ReferencePool.Acquire <LoadResourceAgentHelperParseBytesCompleteEventArgs>();

            loadResourceAgentHelperParseBytesCompleteEventArgs.Resource = resource;
            return(loadResourceAgentHelperParseBytesCompleteEventArgs);
        }
예제 #11
0
        /// <summary>
        /// 创建重置声音代理事件。
        /// </summary>
        /// <returns>创建的重置声音代理事件。</returns>
        public static ResetSoundAgentEventArgs Create()
        {
            ResetSoundAgentEventArgs resetSoundAgentEventArgs = ReferencePool.Acquire <ResetSoundAgentEventArgs>();

            return(resetSoundAgentEventArgs);
        }
        /// <summary>
        /// 创建加载数据表时加载依赖资源事件。
        /// </summary>
        /// <param name="dataTableAssetName">数据表资源名称。</param>
        /// <param name="dependencyAssetName">被加载的依赖资源名称。</param>
        /// <param name="loadedCount">当前已加载依赖资源数量。</param>
        /// <param name="totalCount">总共加载依赖资源数量。</param>
        /// <param name="userData">用户自定义数据。</param>
        /// <returns>创建的加载数据表时加载依赖资源事件。</returns>
        public static LoadDataTableDependencyAssetEventArgs Create(string dataTableAssetName, string dependencyAssetName, int loadedCount, int totalCount, object userData)
        {
            LoadDataTableDependencyAssetEventArgs loadDataTableDependencyAssetEventArgs = ReferencePool.Acquire <LoadDataTableDependencyAssetEventArgs>();

            loadDataTableDependencyAssetEventArgs.DataTableAssetName  = dataTableAssetName;
            loadDataTableDependencyAssetEventArgs.DependencyAssetName = dependencyAssetName;
            loadDataTableDependencyAssetEventArgs.LoadedCount         = loadedCount;
            loadDataTableDependencyAssetEventArgs.TotalCount          = totalCount;
            loadDataTableDependencyAssetEventArgs.UserData            = userData;
            return(loadDataTableDependencyAssetEventArgs);
        }
        /// <summary>
        /// 创建加载字典时加载依赖资源事件。
        /// </summary>
        /// <param name="e">内部事件。</param>
        /// <returns>创建的加载字典时加载依赖资源事件。</returns>
        public static LoadDictionaryDependencyAssetEventArgs Create(GameFramework.Localization.LoadDictionaryDependencyAssetEventArgs e)
        {
            LoadDictionaryInfo loadDictionaryInfo = (LoadDictionaryInfo)e.UserData;
            LoadDictionaryDependencyAssetEventArgs loadDictionaryDependencyAssetEventArgs = ReferencePool.Acquire <LoadDictionaryDependencyAssetEventArgs>();

            loadDictionaryDependencyAssetEventArgs.DictionaryName      = loadDictionaryInfo.DictionaryName;
            loadDictionaryDependencyAssetEventArgs.DictionaryAssetName = e.DictionaryAssetName;
            loadDictionaryDependencyAssetEventArgs.DependencyAssetName = e.DependencyAssetName;
            loadDictionaryDependencyAssetEventArgs.LoadedCount         = e.LoadedCount;
            loadDictionaryDependencyAssetEventArgs.TotalCount          = e.TotalCount;
            loadDictionaryDependencyAssetEventArgs.UserData            = loadDictionaryInfo.UserData;
            return(loadDictionaryDependencyAssetEventArgs);
        }
예제 #14
0
 private void OnPhotonOperationResponse(object sender, GameFramework.Photon.PhotonOperationResponseEventArgs e)
 {
     m_EventComponent.Fire(this, ReferencePool.Acquire <PhotonOperationResponseEventArgs>().Fill(e));
 }
예제 #15
0
        /// <summary>
        /// 创建下载代理辅助器更新数据流事件。
        /// </summary>
        /// <param name="bytes">下载的数据流。</param>
        /// <param name="offset">数据流的偏移。</param>
        /// <param name="length">数据流的长度。</param>
        /// <returns>创建的下载代理辅助器更新数据流事件。</returns>
        public static DownloadAgentHelperUpdateBytesEventArgs Create(byte[] bytes, int offset, int length)
        {
            if (bytes == null)
            {
                throw new GameFrameworkException("Bytes is invalid.");
            }

            if (offset < 0 || offset >= bytes.Length)
            {
                throw new GameFrameworkException("Offset is invalid.");
            }

            if (length <= 0 || offset + length > bytes.Length)
            {
                throw new GameFrameworkException("Length is invalid.");
            }

            DownloadAgentHelperUpdateBytesEventArgs downloadAgentHelperUpdateBytesEventArgs = ReferencePool.Acquire <DownloadAgentHelperUpdateBytesEventArgs>();

            downloadAgentHelperUpdateBytesEventArgs.m_Bytes = bytes;
            downloadAgentHelperUpdateBytesEventArgs.Offset  = offset;
            downloadAgentHelperUpdateBytesEventArgs.Length  = length;
            return(downloadAgentHelperUpdateBytesEventArgs);
        }
예제 #16
0
 private void OnLoadSceneUpdate(object sender, GameFramework.Scene.LoadSceneUpdateEventArgs e)
 {
     m_EventComponent.Fire(this, ReferencePool.Acquire <LoadSceneUpdateEventArgs>().Fill(e));
 }
 private void OnResourceUpdateFailure(object sender, GameFramework.Resource.ResourceUpdateFailureEventArgs e)
 {
     m_EventComponent.Fire(this, ReferencePool.Acquire <ResourceUpdateFailureEventArgs>().Fill(e));
 }
 private void OnLoadDataTableFailure(object sender, GameFramework.DataTable.LoadDataTableFailureEventArgs e)
 {
     Log.Warning("Load data table failure, asset name '{0}', error message '{1}'.", e.DataTableAssetName, e.ErrorMessage);
     m_EventComponent.Fire(this, ReferencePool.Acquire <LoadDataTableFailureEventArgs>().Fill(e));
 }
        /// <summary>
        /// 创建加载资源代理辅助器异步读取资源二进制流完成事件。
        /// </summary>
        /// <param name="bytes">资源的二进制流。</param>
        /// <returns>创建的加载资源代理辅助器异步读取资源二进制流完成事件。</returns>
        public static InnerLoadResourceAgentHelperReadBytesCompleteEventArgs Create(byte[] bytes)
        {
            InnerLoadResourceAgentHelperReadBytesCompleteEventArgs loadResourceAgentHelperReadBytesCompleteEventArgs = ReferencePool.Acquire <InnerLoadResourceAgentHelperReadBytesCompleteEventArgs>();

            loadResourceAgentHelperReadBytesCompleteEventArgs.m_Bytes = bytes;
            return(loadResourceAgentHelperReadBytesCompleteEventArgs);
        }
 private void OnLoadDataTableDependencyAsset(object sender, GameFramework.DataTable.LoadDataTableDependencyAssetEventArgs e)
 {
     m_EventComponent.Fire(this, ReferencePool.Acquire <LoadDataTableDependencyAssetEventArgs>().Fill(e));
 }
 private void OnDownloadFailure(object sender, GameFramework.Download.DownloadFailureEventArgs e)
 {
     Log.Warning("Download failure, download serial id '{0}', download path '{1}', download uri '{2}', error message '{3}'.", e.SerialId.ToString(), e.DownloadPath, e.DownloadUri, e.ErrorMessage);
     m_EventComponent.Fire(this, ReferencePool.Acquire <DownloadFailureEventArgs>().Fill(e));
 }
예제 #22
0
 private void OnShowEntitySuccess(object sender, GameFramework.Entity.ShowEntitySuccessEventArgs e)
 {
     m_EventComponent.Fire(this, ReferencePool.Acquire <ShowEntitySuccessEventArgs>().Fill(e));
 }
        /// <summary>
        /// 反序列化消息包。
        /// </summary>
        /// <param name="packetHeader">消息包头。</param>
        /// <param name="source">要反序列化的来源流。</param>
        /// <param name="customErrorData">用户自定义错误数据。</param>
        /// <returns>反序列化后的消息包。</returns>
        public Packet DeserializePacket(IPacketHeader packetHeader, Stream source, out object customErrorData)
        {
            // 注意:此函数并不在主线程调用!
            customErrorData = null;

            SCPacketHeader scPacketHeader = packetHeader as SCPacketHeader;

            if (scPacketHeader == null)
            {
                Log.Warning("Packet header is invalid.");
                return(null);
            }

            Packet packet = null;

            if (scPacketHeader.IsValid)
            {
                Type packetType = GetServerToClientPacketType(scPacketHeader.Id);
                if (packetType != null)
                {
                    packet = (Packet)RuntimeTypeModel.Default.DeserializeWithLengthPrefix(source, ReferencePool.Acquire(packetType), packetType, PrefixStyle.Fixed32, 0);
                }
                else
                {
                    Log.Warning("Can not deserialize packet for packet id '{0}'.", scPacketHeader.Id.ToString());
                }
            }
            else
            {
                Log.Warning("Packet header is invalid.");
            }

            ReferencePool.Release(scPacketHeader);
            return(packet);
        }
예제 #24
0
        /// <summary>
        /// 创建加载字典时加载依赖资源事件。
        /// </summary>
        /// <param name="e">内部事件。</param>
        /// <returns>创建的加载字典时加载依赖资源事件。</returns>
        public static LoadDictionaryDependencyAssetEventArgs Create(ReadDataDependencyAssetEventArgs e)
        {
            LoadDictionaryDependencyAssetEventArgs loadDictionaryDependencyAssetEventArgs = ReferencePool.Acquire <LoadDictionaryDependencyAssetEventArgs>();

            loadDictionaryDependencyAssetEventArgs.DictionaryAssetName = e.DataAssetName;
            loadDictionaryDependencyAssetEventArgs.DependencyAssetName = e.DependencyAssetName;
            loadDictionaryDependencyAssetEventArgs.LoadedCount         = e.LoadedCount;
            loadDictionaryDependencyAssetEventArgs.TotalCount          = e.TotalCount;
            loadDictionaryDependencyAssetEventArgs.UserData            = e.UserData;
            return(loadDictionaryDependencyAssetEventArgs);
        }
        public static FlyingEnemyMoveState Create()
        {
            FlyingEnemyMoveState state = ReferencePool.Acquire <FlyingEnemyMoveState>();

            return(state);
        }
예제 #26
0
 private void OnOpenUIFormDependencyAsset(object sender, GameFramework.UI.OpenUIFormDependencyAssetEventArgs e)
 {
     m_EventComponent.Fire(this, ReferencePool.Acquire <OpenUIFormDependencyAssetEventArgs>().Fill(e));
 }
예제 #27
0
 private void OnWebRequestSuccess(object sender, GameFramework.WebRequest.WebRequestSuccessEventArgs e)
 {
     m_EventComponent.Fire(this, ReferencePool.Acquire <WebRequestSuccessEventArgs>().Fill(e));
 }
예제 #28
0
 private void OnCloseUIFormComplete(object sender, GameFramework.UI.CloseUIFormCompleteEventArgs e)
 {
     m_EventComponent.Fire(this, ReferencePool.Acquire <CloseUIFormCompleteEventArgs>().Fill(e));
 }
        /// <summary>
        /// 创建加载资源代理辅助器异步加载资源完成事件。
        /// </summary>
        /// <param name="asset">加载的资源。</param>
        /// <returns>创建的加载资源代理辅助器异步加载资源完成事件。</returns>
        public static LoadResourceAgentHelperLoadCompleteEventArgs Create(object asset)
        {
            LoadResourceAgentHelperLoadCompleteEventArgs loadResourceAgentHelperLoadCompleteEventArgs = ReferencePool.Acquire <LoadResourceAgentHelperLoadCompleteEventArgs>();

            loadResourceAgentHelperLoadCompleteEventArgs.Asset = asset;
            return(loadResourceAgentHelperLoadCompleteEventArgs);
        }
예제 #30
0
 /// <summary>
 /// 发送刷新属性消息
 /// </summary>
 public void SendRefreshPropEvent()
 {
     GameEntry.Event.Fire(this,
                          ReferencePool.Acquire <RefreshHeroPropsEventArgs> ().Fill(this.heroData));
 }