Esempio n. 1
0
        public static void KickPlayer(Account KickedPlayer, NormalRoom room, byte last)
        {
            byte KickedPlayerIndex = KickedPlayer.RoomPos;

            foreach (Account RoomPlayer in room.Players)
            {
                RoomPlayer.Connection.SendAsync(new GameRoom_KickPlayer(RoomPlayer, KickedPlayerIndex, last));
            }
            room.Players.Remove(KickedPlayer);
            room.PosList.Add(KickedPlayerIndex);
            KickedPlayer.RoomPos       = 0;
            KickedPlayer.InGame        = false;
            KickedPlayer.CurrentRoomId = 0;
            KickedPlayer.Connection.SendAsync(new GameRoom_Hex(KickedPlayer, "FF6405F703000002000000", last));
            KickedPlayer.Connection.SendAsync(new GameRoom_LeaveRoomUser_0XA9(KickedPlayer, KickedPlayerIndex, last));
            room.addKickedPlayer(KickedPlayer);
            foreach (Account RoomPlayer in room.Players)
            {
                RoomPlayer.Connection.SendAsync(new GameRoom_RemoveRoomUser(RoomPlayer, KickedPlayerIndex, last));
                RoomPlayer.Connection.SendAsync(new GameRoom_Hex(RoomPlayer, "FFA80500000000", last));
            }
            KickedPlayer.Connection.SendAsync(new GameRoom_Hex(KickedPlayer, "FFA80500000000", last));
            KickedPlayer.Connection.SendAsync(new GameRoom_KickPlayer(KickedPlayer, KickedPlayerIndex, last));
        }