2012-02-03 6 views
1

ここにはConnect()があります。機能:リストを使用した接続と切断

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

究極の目標は、切断することで、私の友人は、このリストを使用して行うことができます私に語りました。私はリストに慣れていませんし、リストの使い方も分かりません。私が求めています何

たちは、おそらく切断する「クリア」メソッドを使用することができます(私は...と仮定している)ように、「リスト」の形でこれを置くことです。または、「削除」メソッド。

しかし、私が言ったように、私は、Clearメソッドは完全に異なる何かを意味するかもしれないので、全くリストを使用するかどうかはわかりません。

この機能について詳しく知りたい場合は、できるだけ早く取り返そうとします。しかし、リストに関するあいまいな情報から、関数のすべての詳細を知る必要はありません。

+0

ハは、誰もが編集:

は、ここでは役立つかもしれない一つのリンクです。私はそのゲームから脱出することはできません。 – Zenexer

答えて

3

あなたの友人はあなたの接続のリストを維持する必要があると言います。リストは単にあなたの参照を維持するオブジェクトです。あなたがリストを通過し、「ログオフ」あるいはそれらのチャネルから切断することができ、すべての接続が終わったら

+0

ああ、大丈夫です。その場合、かなり簡単に(一度私はリストについてもう少し学ぶ...)、より組織化されていなければなりません。 切断するのに適しているものを知りましたか:取り外しか透明か? –

1

削除がより適切です。リスト構造のためにあなたが何かのような...

list.Clear()を使用する場合//これは、リスト全体に

をクリアして、あなただけの1つのクライアントを切断している場合は、すべて削除したくないのでクライアント、ちょうど1つ。

list.RemoveAt(int型のインデックス)またはlist.Remove(オブジェクトo)は、ちょうどあなたのリストから特定のクライアントを削除します。

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

関連する問題