2012-02-03 4 views
1

Ici, nous avons le Connect(); Fonction:Utiliser une liste pour se connecter et se déconnecter

public static void Connect(string username, string password, string roomName, string roomType, string roomID, string roomPass, bool roomVisible) 
{ 

    Console.WriteLine("[Bot] Trying to login..."); 
    PlayerIO.QuickConnect.SimpleConnect("everybody-edits-su9rn58o40itdbnw69plyw", username, password, 
     delegate(Client client) 
     { 
      Console.WriteLine("[Bot] Logged in. Trying to join the room..."); 

      Dictionary<string, string> roomData = new Dictionary<string, string>(); 
      Dictionary<string, string> joinData = new Dictionary<string, string>(); 

      roomData.Add("editkey", roomPass); 
      roomData.Add("name", roomName); 
      joinData.Add("editkey", roomPass); 


      try 
      { 
       con = client.Multiplayer.CreateJoinRoom(roomID, roomType, roomVisible, roomData, joinData); 
       if (con.Connected) 
       { 
        con.Send("init"); 
        con.Send("init2"); 
        con.OnMessage += new MessageReceivedEventHandler(OnMessage); 
        con.OnDisconnect += delegate(object sender, string reason) 
        { 
         Console.WriteLine("Disconnected, Error: " + reason); 
        }; 
        Console.WriteLine("[Bot] Joined the world."); 
       } 
      } 
      catch (PlayerIOError error) 
      { 
       Console.WriteLine("Error: " + error); 

      } 

     }, 
     delegate(PlayerIOError error) 
     { 
      Console.WriteLine("Error: " + error); 
     }); 
} 

Le but ultime est de déconnecter, et mon ami me dit cela peut être fait avec l'utilisation d'une liste. Je ne connais pas les listes, et je ne sais pas comment les utiliser. Ce que je demande est de mettre ceci dans la forme de «liste» de sorte que (je suppose ...) nous pouvons employer une méthode «claire» pour déconnecter éventuellement. Ou peut-être une méthode "Supprimer". Mais comme je l'ai dit, je ne sais pas du tout comment utiliser les listes, donc la méthode Clear peut signifier quelque chose de complètement différent.

S'il vous plaît demander si vous avez besoin d'en savoir plus sur cette fonction, je vais essayer de revenir le plus tôt possible. Mais à partir des informations vagues que j'ai sur les listes, vous n'avez pas besoin de connaître tous les détails de la fonction.

+0

Ha, Tout le monde Edits. Je n'arrive pas à échapper à ce jeu. – Zenexer

Répondre

3

Ce que votre ami essaie de dire, c'est que vous devez maintenir une liste de vos connexions. Une liste est simplement un objet qui conservera vos références. Une fois que vous avez terminé toutes les connexions, vous pouvez parcourir la liste et vous déconnecter ou vous déconnecter de ces canaux.

+0

Ah, d'accord. Dans ce cas, devrait être assez facile (une fois que j'apprends un peu plus sur les listes ...) et plus organisé. Seriez-vous capable de savoir ce qu'il serait plus approprié de déconnecter: une suppression ou une suppression? –

1

Une suppression serait plus appropriée. Parce qu'une pour une structure de liste lorsque vous utilisez quelque chose comme ...

list.clear() // Ceci efface toute la liste

Et si vous êtes un client déconnectez, vous ne voulez pas supprimer tous les les clients, juste un. List.RemoveAt (int index) ou list.Remove (Object o) supprimerait simplement un client spécifique de votre liste.

Voici un lien qui pourrait aider:

http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx

Questions connexes