2015年3月24日火曜日

PhotonNetworkのOnJoinedLobbyが呼ばれた瞬間はルームリストを取れない

おっすSiroponnです。
内容は件名のとおりです。
ルームリストが取れません。

以下のようにすぐにとろうとすると、0が表示されてしまいます。

/// <summary>
    /// ロビーに入ったらルームを作り、ルームに入る.
    /// すでにルームが作られていたらそれに入る.
    /// </summary>
    void OnJoinedLobby()
    {
        RoomInfo[] r = PhotonNetwork.GetRoomList();

        int count = r.Length;

        Debug.Log(count); //0が出る
    }

これを回避するには1フレ待ってあげるか。

//----------------

/// <summary>
    /// ロビーに入ったらルームを作り、ルームに入る.
    /// すでにルームが作られていたらそれに入る.
    /// </summary>
    IEnumerator OnJoinedLobby()
    {

        yierd return null;
        RoomInfo[] r = PhotonNetwork.GetRoomList();

        int count = r.Length;

        Debug.Log(count); //0が出る
    }

 //-----------------------------

下の用にループ上で調べるのがよさそうです。

//---------------------


/// <summary>
    /// ロビーに入ったらルームを作り、ルームに入る.
    /// すでにルームが作られていたらそれに入る.
    /// </summary>
    void  OnJoinedLobby()
    {
       debugPhaze = 1;
    }


void Update()
{
     switch(debugPhaze)
     {
          case 0:
           break;
          case 1:
              //ルームを調べたりする処理.
           break
     }
}

 //---------------------------

他に方法があるかもしれません。僕ちんは先ほど気づいたのでこの方法しかまだわかりません。


では、siroponnでした