[Unity,Photon2]Photon2でルームを作成したい


Photon2で名前を設定してルームを作成する

Photon2を使ってルームを作成したいと思います。
Photonについての使い方などは特に詳しい説明はしないのでそのあたりは自分で調べてください。

作成したルームをオブジェクトとして表示するルームの可視化はこちら
次回:[Unity,Photon]Photon2で自動更新されるルームのリストを作る

ルームの名前を入力させる

今回はルームの作成ということでまずルームの名前を入力させ、ルーム作成という形にしました。

上画像の"CreateRoomNameInputField"にルーム名を入力、
"CreateRoomButton"を押したらその名前でルーム作成。という形にしたい。
このボタンのOnClickについているGameObjectがこれ↓

ルーム作成のコード

"MoveScene.cs"はシーン遷移用なのでルーム作成には関係ないです。
ルームの作成に関しては"MatchMenuManager.cs"で行っていきます。

MatchMenuManager.cs
public InputField playerNameInputField;

public void CreateRoom()
    {
        createRoomName = playerNameInputField.text;

        //ルーム名が入力されてないなら自動生成
        if(createRoomName == "")
        {
            createRoomName  = "room" + Random.Range(1000, 9999);
        }
        //ルームのオプションの設定
        RoomOptions roomOptions = new RoomOptions();
        roomOptions.IsVisible = true;
        roomOptions.IsOpen = true;
        roomOptions.MaxPlayers = 2;
        // ==指定したルーム名と同じルーム名が存在している場合、PhotonNetworkの方で作成できないようになっている==
        PhotonNetwork.CreateRoom(createRoomName, roomOptions , null);
    }

"CreateRoomButton"を押したときに"CreateRoom()"を実行させるととりあえずルームが作成できます。
細かい設定などはPhotonNetwork.CreateRoom(createRoomName, roomOptions , null);
この太文字のあたりをいじれば設定できるそうですが、今回は特に設定する意味がなかったのでしてません。

ルーム作成後

ルームが正しく作成された時は以下の"OnCreatedRoom()"でコールバックを受けることができます。

public override void OnCreatedRoom()
    {
        Debug.Log("[Success]RoomCreate:" + createRoomName);
    }

"testRoom"という名前のルームを作成できました。
ログだけだとわかりにくいので可視化させています。
上の"MatchMenuManager.cs"でルームを作成すれば中身はこんな感じになります。↓

作成したルームの一覧をオブジェクトとして表示

上画像のように作成したルームをリスト化して可視化する方法はこちら
次回:[Unity,Photon]Photon2で自動更新されるルームのリストを作る

おわり

ルームの作成はPhotonNetwork.CreateRoom(createRoomName, roomOptions , null);
ルーム作成後のコールバックはpublic override void OnCreatedRoom()