From 8a90e74e74f603739266f914ba528fd9484b7f28 Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Wed, 21 Oct 2020 22:32:56 +0200 Subject: [PATCH] [FIX] fixed leaving lobby --- Server/Models/ServerCommunication.cs | 50 ++++++++++++++-------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/Server/Models/ServerCommunication.cs b/Server/Models/ServerCommunication.cs index 511f190..c461aa1 100644 --- a/Server/Models/ServerCommunication.cs +++ b/Server/Models/ServerCommunication.cs @@ -161,30 +161,6 @@ namespace Server.Models } } - public void RemoveFromLobby(Lobby lobby, User user) - { - foreach (Lobby l in lobbies) - { - if (l == lobby) - { - if (lobby.Users.Contains(user)) - { - Debug.WriteLine("[SERVERCOMM] removed user from lobby!"); - lobby.Users.Remove(user); - foreach (ServerClient sc in serverClients) - { - if (sc.User.Username == user.Username) - { - serverClientsInlobbies[l].Remove(sc); - break; - } - } - } - - } - break; - } - } public int HostForLobby(User user) { @@ -211,11 +187,35 @@ namespace Server.Models public void LeaveLobby(User user, int id) { + Debug.WriteLine("[SERVERCOMM] removing user from lobby"); foreach (Lobby l in lobbies) { if (l.ID == id) { - RemoveFromLobby(l, user); + Debug.WriteLine($"[SERVERCOMM] checking for lobby with id {l.ID}"); + + foreach (User u in l.Users) + { + Debug.WriteLine($"[SERVERCOMM] checking if {u.Username} is {user.Username} "); + // contains doesn't work, so we'll do it like this... + if (u.Username == user.Username) + { + Debug.WriteLine("[SERVERCOMM] removed user from lobby!"); + l.Users.Remove(user); + foreach (ServerClient sc in serverClients) + { + if (sc.User.Username == user.Username) + { + serverClientsInlobbies[l].Remove(sc); + break; + } + } + break; + } + } + + + } } }