Exemplo n.º 1
0
        public static ClientPacketType Register(String name, ushort typeID,
                                                ClientPacketHandlerDelegate handler)
        {
            if (stTypeNames.ContainsKey(name))
            {
                throw new Exception("Can not register new packet type:"
                                    + "packet type already registered with the name \"" + name + "\"");
            }

            ClientPacketType type = new ClientPacketType(typeID, name, handler);

            while (stTypeIDs.Count < typeID)
            {
                stTypeIDs.Add(null);
            }

            if (stTypeIDs.Count == typeID)
            {
                stTypeIDs.Add(type);
            }
            else
            {
                stTypeIDs[typeID] = type;
            }

            stTypeNames.Add(name, type);

            stNextID = (ushort)Math.Max(stNextID, typeID + 1);

            return(type);
        }
Exemplo n.º 2
0
 public void RegisterHandler(Opcode packetid, ClientPacketHandlerDelegate method)
 {
     if (PacketMethodMap.ContainsKey(packetid))
     {
         PacketMethodMap[packetid].Method += method;
     }
     else
     {
         PacketMethodMap.Add(packetid, new ClientPacketMethod(method));
     }
 }
Exemplo n.º 3
0
        public void RemoveHandler(Opcode packetid, ClientPacketHandlerDelegate method)
        {
            if (PacketMethodMap.ContainsKey(packetid))
            {
                PacketMethodMap[packetid].Method -= method;

                if (PacketMethodMap[packetid].Method.IsNull())
                {
                    PacketMethodMap.Remove(packetid);
                }
            }
        }
Exemplo n.º 4
0
 public static ClientPacketType Register( String name,
     ClientPacketHandlerDelegate handler)
 {
     return Register( name, stNextID, handler );
 }
Exemplo n.º 5
0
 internal ClientPacketType( UInt16 id, String name, ClientPacketHandlerDelegate handler )
     : base(id, name)
 {
     PacketHandler = handler;
 }
Exemplo n.º 6
0
        public static ClientPacketType Register( String name, ushort typeID,
            ClientPacketHandlerDelegate handler)
        {
            if ( stTypeNames.ContainsKey( name ) )
                throw new Exception( "Can not register new packet type:"
                    + "packet type already registered with the name \"" + name + "\"" );

            ClientPacketType type = new ClientPacketType( typeID, name, handler );

            while ( stTypeIDs.Count < typeID )
                stTypeIDs.Add( null );

            if ( stTypeIDs.Count == typeID )
                stTypeIDs.Add( type );
            else
                stTypeIDs[ typeID ] = type;

            stTypeNames.Add( name, type );

            stNextID = (ushort) Math.Max( stNextID, typeID + 1 );

            return type;
        }
Exemplo n.º 7
0
 public ClientPacketMethod(ClientPacketHandlerDelegate method)
 {
     Method = method;
 }
Exemplo n.º 8
0
 public ClientPacketMethod(ClientPacketHandlerDelegate method)
 {
     Method = method;
 }
Exemplo n.º 9
0
        public void RemoveHandler(Opcode packetid, ClientPacketHandlerDelegate method)
        {
            if(PacketMethodMap.ContainsKey(packetid))
            {
                PacketMethodMap[packetid].Method -= method;

                if(PacketMethodMap[packetid].Method.IsNull())
                    PacketMethodMap.Remove(packetid);
            }
        }
Exemplo n.º 10
0
 public void RegisterHandler(Opcode packetid, ClientPacketHandlerDelegate method)
 {
     if(PacketMethodMap.ContainsKey(packetid))
         PacketMethodMap[packetid].Method += method;
     else
         PacketMethodMap.Add(packetid, new ClientPacketMethod(method));
 }
Exemplo n.º 11
0
 public static ClientPacketType Register(String name,
                                         ClientPacketHandlerDelegate handler)
 {
     return(Register(name, stNextID, handler));
 }
Exemplo n.º 12
0
 internal ClientPacketType(UInt16 id, String name, ClientPacketHandlerDelegate handler)
     : base(id, name)
 {
     PacketHandler = handler;
 }