「Unity/photon/punとpun2の違い」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→コールバック) |
(→参考) |
||
行113: | 行113: | ||
==参考== | ==参考== | ||
https://gamefbb.com/%E3%80%90unity%E3%80%91photon%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%97%E3%81%A6%E3%83%AD%E3%83%93%E3%83%BC%E3%81%AB%E5%85%A5%E3%82%8B%E3%80%90pun2%E3%80%91/ | https://gamefbb.com/%E3%80%90unity%E3%80%91photon%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%97%E3%81%A6%E3%83%AD%E3%83%93%E3%83%BC%E3%81%AB%E5%85%A5%E3%82%8B%E3%80%90pun2%E3%80%91/ | ||
+ | |||
+ | https://doc.photonengine.com/ja-jp/pun/current/getting-started/initial-setup |
2021年8月11日 (水) 04:47時点における版
目次
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)
参考
https://doc.photonengine.com/ja-jp/pun/current/getting-started/initial-setup