Unity/photon/punとpun2の違い
提供: 初心者エンジニアの簡易メモ
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