UnityでPUNを使ったオンラインマルチプレイの実装 -ルームオプション編-


UnityでPUNを使ったオンラインマルチプレイの実装 -ルームオプション編-


UnityのネットワークエンジンサービスであるPUN(Photon Unity Networking)について解説していくシリーズ記事です。

<前回までの記事一覧>
⇒ UnityでPUNを使ったオンラインマルチプレイの実装 -準備編-
⇒ UnityでPUNを使ったオンラインマルチプレイの実装 -同期編-

今回はシリーズ3回目、ルームオプション編です。PUNのルーム作成時のオプション設定方法について紹介していきます。

PUNはバージョン1.73を使用しています。

ルームオプションの設定


1.ルームオプションの作成

PUNのルームは、作成時にRoomOptionsクラスを使用してオプションを設定することができます。

■ルームオプションを用いたルーム作成のサンプルスクリプトです。

	// ロビーに入ると呼ばれる
	void OnJoinedLobby() {
		Debug.Log("ロビーに入りました。");

		/* ルームオプションの設定 */

		// RoomOptionsのインスタンスを生成
		RoomOptions roomOptions = new RoomOptions();

		// ルームに入室できる最大人数。0を代入すると上限なし。
		roomOptions.MaxPlayers = 4;

		// ルームへの入室を許可するか否か
		roomOptions.IsOpen = true;

		// ロビーのルーム一覧にこのルームが表示されるか否か
		roomOptions.IsVisible = true;

		/* ルームの作成 */
		/* ルームオプションを設定する場合、CreateRoomメソッドは引数3つのオーバーロードを使用します。 */

		// 第1引数はルーム名、第2引数はルームオプション、第3引数はロビーです。
		PhotonNetwork.CreateRoom("RoomName", roomOptions, null);

	}

RoomOptionsのインスタンスを生成し、設定用のプロパティに値を代入してCreateRoom()に渡しています。
RoomOptionsを使用してのオプション設定は、ルーム作成時のみ可能となっています。
もしルーム入室後にこれらのオプションを変更したい場合は、入室時の各設定をそのまま引き継いでいるRoomクラスを使用します。

また、各設定項目はRoomOptionsクラス内でプロパティとして宣言されているため、以下のようにンスタンス生成時に直接渡すこともできます。

	RoomOptions roomOptions = new RoomOptions() {
		MaxPlayers = 4,
		IsOpen = true,
		IsVisible = true,
	};

ルームオプション編は以上です。

次回は、カスタムプロパティ編です。
ルームに任意の設定を追加できるようになります。

今月の新着記事

【合格体験記】Unity開発者認定試験に合格しました
【Unity認定試験対策】Unity 練習問題 10 – Rigidbody –
【Unityプログラミング力向上】C# 練習問題 7

記事一覧にもどる

  • このエントリーをはてなブックマークに追加

PAGE TOP