「Unity/photon/punとpun2の違い」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→部屋一覧) |
(→部屋一覧) |
||
行34: | 行34: | ||
{ | { | ||
RoomInfo[] rooms = PhotonNetwork.GetRoomList(); // 注意: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"]); | ||
+ | } | ||
+ | } | ||
+ | } | ||
</pre> | </pre> | ||
↓ | ↓ | ||
行43: | 行56: | ||
Debug.Log("OnRoomListUpdate"); | Debug.Log("OnRoomListUpdate"); | ||
List<RoomInfo> tmpRoomList = roomList.Where(s => s.IsOpen).ToList(); | 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"]); | ||
+ | } | ||
+ | } | ||
} | } | ||
</pre> | </pre> |
2021年8月11日 (水) 03:38時点における版
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