コード例 #1
0
        static public void Handle_SC_Whisper(SC_Whisper <Database> pkt, Database db)
        {
            Player recipient = db._server.getPlayer(pkt.recipient);
            Player from      = db._server.getPlayer(pkt.from);

            if (recipient != null)
            {
                recipient.sendPlayerChat(from, pkt);
            }
        }
コード例 #2
0
ファイル: Player.cs プロジェクト: mizzouse/FreeInfantry
 /// <summary>
 /// Handles a chat whisper
 /// </summary>
 static public void Handle_CS_Whisper(CS_Whisper <Zone> pkt, Zone zone)
 {
     foreach (Zone z in zone._server._zones)
     {
         if (z.hasAliasPlayer(pkt.recipient))
         {
             SC_Whisper <Zone> reply = new SC_Whisper <Zone>();
             reply.bong      = pkt.bong;
             reply.message   = pkt.message;
             reply.recipient = pkt.recipient;
             reply.from      = pkt.from;
             z._client.send(reply);
         }
     }
 }
コード例 #3
0
        /// <summary>
        /// Creates a new packet based on the typeID and the received content
        /// inside the buffer. The user has to create an own implementation
        /// of this interface.
        /// </summary>
        public PacketBase createPacket(NetworkClient client, ushort typeID, byte[] buffer, int offset, int size)
        {               //Ready our packet base
            PacketBase packet = null;

            size--;

            //Was it a system packet?
            if (buffer[offset++] == 0)
            {
                //Yes, find the appropriate type
                return(createSystemPacket(typeID, buffer, offset, size));
            }

            //So what was the typeid?
            switch (typeID)
            {
            case SC_Auth <T> .TypeID:
                packet = new SC_Auth <T>(typeID, buffer, offset, size);
                break;

            case SC_PlayerLogin <T> .TypeID:
                packet = new SC_PlayerLogin <T>(typeID, buffer, offset, size);
                break;

            case SC_PlayerStatsResponse <T> .TypeID:
                packet = new SC_PlayerStatsResponse <T>(typeID, buffer, offset, size);
                break;

            case SC_Whisper <T> .TypeID:
                packet = new SC_Whisper <T>(typeID, buffer, offset, size);
                break;

            case SC_JoinChat <T> .TypeID:
                packet = new SC_JoinChat <T>(typeID, buffer, offset, size);
                break;

            case SC_LeaveChat <T> .TypeID:
                packet = new SC_LeaveChat <T>(typeID, buffer, offset, size);
                break;

            case SC_PrivateChat <T> .TypeID:
                packet = new SC_PrivateChat <T>(typeID, buffer, offset, size);
                break;

            case SC_Chat <T> .TypeID:
                packet = new SC_Chat <T>(typeID, buffer, offset, size);
                break;

            case SC_Zones <T> .TypeID:
                packet = new SC_Zones <T>(typeID, buffer, offset, size);
                break;

            case Disconnect <T> .TypeID:
                packet = new Disconnect <T>(typeID, buffer, offset, size);
                break;

            default:
                //An undefined packet.
                packet = new PacketDummy(typeID, buffer, offset, size);
                break;
            }

            return(packet);
        }