facebook twitter hatena line email

Unity/photon/punとpun2の違い

提供: 初心者エンジニアの簡易メモ
2021年8月11日 (水) 03:38時点におけるAdmin (トーク | 投稿記録)による版 (部屋一覧)

移動: 案内検索

photonとphoton2の違い

参考:https://lifter-liberty.localinfo.jp/posts/5296583

実際に変更した作業

その1

using Photon.Pun;
using Photon.Realtime;

を追加

その2

Photon.MonoBehaviour → MonoBehaviourPunへ

その3

  • roomOptions.customRoomProperties → roomOptions.CustomRoomProperties
  • roomOptions.customRoomPropertiesForLobby → roomOptions.CustomRoomPropertiesForLobby
  • roomOptions.maxPlayers → roomOptions.MaxPlayers
  • roomOptions.isOpen → roomOptions.IsOpen
  • roomOptions.isVisible → roomOptions.IsVisible

その4

  • room.name → room.Name
  • room.customProperties → room.CustomProperties

その5

  • PhotonNetwork.room → PhotonNetwork.CurrentRoom;

部屋一覧

pun1

void OnReceivedRoomListUpdate()
{
        RoomInfo[] rooms = PhotonNetwork.GetRoomList(); // 注意:OnReceivedRoomListUpdate()が呼ばれた以後でしか取得できない
	if (rooms.Length == 0)
	{
		Debug.Log("ルームが一つもありません");
	}
	else
	{
		foreach (RoomInfo room in rooms)
		{
			Debug.Log("RoomName:" + room.name);
			Debug.Log("userId:" + room.customProperties["userId"]);
		}
	}
}

↓ pun2

using System.Linq;
public override void OnRoomListUpdate(List<RoomInfo> roomList)
{
	Debug.Log("OnRoomListUpdate");
	List<RoomInfo> tmpRoomList = roomList.Where(s => s.IsOpen).ToList();
	if (tmpRoomList.Count == 0)
	{
		Debug.Log("ルームが一つもありません");
	}
	else
	{
		foreach (RoomInfo room in tmpRoomList)
		{
			Debug.Log("RoomName:" + room.Name);
			Debug.Log("userId:" + room.CustomProperties["userId"]);
		}
	}
}

OnRoomListUpdateでエラーが出る場合は、以下置換。

MonoBehaviourPun → MonoBehaviourPunCallbacks