tips:根据当前在房间里玩的玩家数量处理各种关卡加载的功能
一、加载竞技场常规
1.打开‘GameManager’脚本
2.加入新的regin,并加入新的函数
#region Private MEthods
void LoadArena()
{
if(!PhotonNetwork.IsMasterClient)
{
Debug.LogError("photonnetwork:trying to load a level but we are not the master Client!");
}
Debug.LogFormat("photonnetwork: loading level:{0}", PhotonNetwork.CurrentRoom.PlayerCount);
PhotonNetwork.LoadLevel("Room for" + PhotonNetwork.CurrentRoom.PlayerCount);
}
#endregion
3.保存脚本
解释:当我们调用此方法的时候,将根据我们所在房间的PlayerCount属性加载适当的房间
①LoadLevel方法只能是MasterClient调用
②PhotonNetwork.LoadLevel("Room for" + PhotonNetwork.CurrentRoom.PlayerCount);我们使用Photon加载想要的房间场景而不是unity,是因为我们想依靠它在房间里所有连接的客户端上加载此关卡,因为我们已经为本游戏启动了PhotonNetwork。AutomaticallySyncScene
二、监听玩家连接
GameManager脚本需要监听玩家的连接和断开
1.打开该脚本
2.添加如下内容
public override void OnPlayerEntere