private void cleanInstances() { int pos = 0; while (true) { //Lock Lock.WaitOne(); if (GameInstances.Count > 0) { if (!ConnUtility.TestClient(GameInstances.ElementAt(pos).Joueur2) && !ConnUtility.TestClient(GameInstances.ElementAt(pos).Joueur1)) { GameInstances.Remove(GameInstances.ElementAt(pos)); } else { pos++; } } if (pos >= GameInstances.Count) { pos = 0; } //Unlock Lock.ReleaseMutex(); } //List<GameInstance> Rip = new List<GameInstance>(); ////ici //foreach (GameInstance instance in GameInstances) //{ // if (!ConnUtility.TestClient(instance.Joueur2) && !ConnUtility.TestClient(instance.Joueur1)) // Rip.Add(instance); // /*if ((instance.Joueur1 == null || !instance.Joueur1.Connected) && (instance.Joueur2 == null || !instance.Joueur2.Connected)) // { // GameInstances.Remove(instance); // } // else if(instance.Joueur1 != null && instance.Joueur2 != null) // if (!testconn(instance.Joueur2) && !testconn(instance.Joueur1)) // GameInstances.Remove(instance);*/ //} //foreach (GameInstance instance in Rip) //{ // GameInstances.Remove(instance); //} }
public void AjoutJoueur(TcpClient client) { if (ConnUtility.TestClient(Joueur1)) { Joueur2 = client; IsWaitingForPlayer = false; jeu = new Thread(StartGame); jeu.Start(); } else { LogConsole.LogWithTime("La connection à " + ConnUtility.GetIP(Joueur1) + " à été terminer"); Joueur1 = client; } }