/// <summary> /// /// </summary> /// <param name="_packet_id"></param> public void Unregister(Int32 _packet_id) { NetPacketPreprocessor net_packet_preprocessor = null; if (!m_preprocessors.TryGetValue(_packet_id, out net_packet_preprocessor)) { return; } net_packet_preprocessor.Invalid(); m_preprocessors.Remove(_packet_id); }
/// <summary> /// /// </summary> /// <param name="_packet_id"></param> /// <returns></returns> private NetPacketEvent _createEvent(Int32 _packet_id) { NetPacketPreprocessor preprocessor = null; if (m_preprocessors.TryGetValue(_packet_id, out preprocessor)) { return(preprocessor.CreateInstance()); } if (null == m_default_preprocessor) { return(null); } return(m_default_preprocessor.CreateInstance()); }
/// <summary> /// /// /// </summary> /// <param name="_packet_id"></param> /// <param name="_preprocessor"></param> public virtual void RegisterPacketPreprocessor(Int32 _packet_id, NetPacketPreprocessor _preprocessor) { throw new NotImplementedException("NetProvider: RegisterPacketPreprocessor isn't implemented."); }
public override void RegisterPacketPreprocessor(Int32 _packet_id, NetPacketPreprocessor _preprocessor) { m_net_client_gamesrv.Register(_packet_id, _preprocessor); }
/// <summary> /// /// </summary> /// <typeparam name="TyMessage"></typeparam> /// <param name="_packet_id"></param> /// <param name="_handler"></param> //public void Register<TyMessage>( Int32 _packet_id, Action<Int32, PacketType, TyMessage> _handler ) // where TyMessage : MessageBase, new() //{ // m_preprocessors.Add( _packet_id, new TNetPacketPreprocessor<TyMessage>( _handler ) ); //} //public void RegisterEx<TyMessage>( Int32 _packet_id, Action<Int32, NetPacket, TyMessage> _handler ) // where TyMessage : MessageBase, new() //{ // m_preprocessors.Add( _packet_id, new TNetPacketPreprocessorEx<TyMessage>( _handler ) ); //} public void Register(Int32 _packet_id, NetPacketPreprocessor _preprocessor) { m_preprocessors.Add(_packet_id, _preprocessor); }
/// <summary> /// 清除消息默认预处理器 /// </summary> public void ClearDefaultHandler() { m_default_preprocessor = null; }
/// <summary> /// 设置消息默认预处理器 /// </summary> /// <typeparam name="TyPacket">消息类型</typeparam> /// <param name="_handler">处理器</param> public void SetDefaultHandler <TyPacket>(Action <Int32, PacketType, TyPacket> _handler) where TyPacket : MessageBase, new() { m_default_preprocessor = new TNetPacketPreprocessor <TyPacket>(_handler); }