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); }
/// <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); }