public void playerEnter(SC_PlayerEnter pkt)
        {
            //Create a new player instance
            Player player = new Player(false);

            player._alias = pkt.alias;
            player._id    = pkt.id;

            if (getTeamByName(pkt.teamname) == null)
            {
                player._team = createTeam(pkt.teamname);
            }

            player._team = getTeamByName(pkt.teamname);

            player._team.playerJoin(player);

            //Update our dictionary
            _players.Add(player._id, player);

            //Update our GUI
            _game._wGame.updatePlayerList(Teams.Where(t => t._players.Count > 0));
        }
    {   /// <summary>
        /// Handles a player enter packet received from the server
        /// </summary>
        static public void Handle_SC_Players(SC_PlayerEnter pkt, Client client)
        {
            GameClient c = ((client as Client <GameClient>)._obj);

            c._arena.playerEnter(pkt);
        }
Exemple #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_Login.TypeID:
                packet = new SC_Login(typeID, buffer, offset, size);
                break;

            case SC_PatchInfo.TypeID:
                packet = new SC_PatchInfo(typeID, buffer, offset, size);
                break;

            case SC_AssetInfo.TypeID:
                packet = new SC_AssetInfo(typeID, buffer, offset, size);
                break;

            case SC_ChangeTeam.TypeID:
                packet = new SC_ChangeTeam(typeID, buffer, offset, size);
                break;

            case SC_SetIngame.TypeID:
                packet = new SC_SetIngame(typeID, buffer, offset, size);
                break;

            case SC_PlayerWarp.TypeID:
                packet = new SC_PlayerWarp(typeID, buffer, offset, size);
                break;

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

            case SC_VehicleDeath.TypeID:
                packet = new SC_VehicleDeath(typeID, buffer, offset, size);
                break;

            case SC_PlayerEnter.TypeID:
                packet = new SC_PlayerEnter(typeID, buffer, offset, size);
                break;

            case SC_PlayerLeave.TypeID:
                packet = new SC_PlayerLeave(typeID, buffer, offset, size);
                break;

            case SC_ArenaList.TypeID:
                packet = new SC_ArenaList(typeID, buffer, offset, size);
                break;


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

            return(packet);
        }