「Unity/photon/punとpun2の違い」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→RPC系) |
(→部屋系) |
||
行30: | 行30: | ||
↓ | ↓ | ||
<pre> | <pre> | ||
− | + | public override void OnConnectedToMaster() | |
{ | { | ||
− | + | Debug.Log("OnConnectedToMaster"); | |
+ | if (PhotonNetwork.IsConnected) | ||
+ | { | ||
+ | PhotonNetwork.JoinLobby(); | ||
+ | } | ||
} | } | ||
</pre> | </pre> |
2021年8月11日 (水) 04:29時点における版
目次
photonとphoton2の違い
参考:https://lifter-liberty.localinfo.jp/posts/5296583
実際に変更した作業
using
using Photon.Pun; using Photon.Realtime;
を追加
継承
Photon.MonoBehaviour → MonoBehaviourPunへ
接続系
PhotonNetwork.ConnectUsingSettings("v1.0");
↓
if (PhotonNetwork.IsConnected == false) { PhotonNetwork.GameVersion = "v1.0"; PhotonNetwork.ConnectUsingSettings(); }
部屋系
auto-lobbyのチェック
↓
public override void OnConnectedToMaster() { Debug.Log("OnConnectedToMaster"); if (PhotonNetwork.IsConnected) { PhotonNetwork.JoinLobby(); } }
部屋系
- roomOptions.customRoomProperties → roomOptions.CustomRoomProperties
- roomOptions.customRoomPropertiesForLobby → roomOptions.CustomRoomPropertiesForLobby
- roomOptions.maxPlayers → roomOptions.MaxPlayers
- roomOptions.isOpen → roomOptions.IsOpen
- roomOptions.isVisible → roomOptions.IsVisible
部屋プロパティ
- room.name → room.Name
- room.customProperties → room.CustomProperties
- 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
PhotonViewエラー
PhotonViewのあるところに以下追加
using Photon.Pun;
RPC系
PhotonTargets.All → RpcTarget.All
コールバック
- void OnJoinedLobby() → public override void OnJoinedLobby()
- void OnJoinedRoom() → public override void OnJoinedRoom()
- void OnPhotonRandomJoinFailed() → public override void OnJoinRandomFailed(short returnCode, string message)