在 Unity 项目中,当 Android 设备的 WI-FI 断开并重新连接时,Photon Network 会自动重新连接。但是,它有出现 OnRoomListUpdate 回调无法被触发的问题。解决这个问题的方法是添加以下代码:
using UnityEngine;
using System.Collections;
using Photon.Pun;
public class RoomListScript : MonoBehaviourPunCallbacks {
void Update () {
if (PhotonNetwork.InRoom) {
PhotonNetwork.LeaveRoom();
} else if (!PhotonNetwork.IsConnected) {
PhotonNetwork.ConnectUsingSettings();
}
}
public override void OnRoomListUpdate (System.Collections.Generic.List roomList) {
// 这里添加你想要执行的代码,例如更新列表。
}
}
这个脚本的作用是在设备连接到服务器之前,每帧检查 PhotonNetwork 已经连接到了哪个房间或者如果没有连接就重新连接。这样做使得 OnRoomListUpdate 回调可以在 WI-FI 重新连接后被正确地触发。
下一篇:Android上自定义导航抽屉