我正在尝试通过网络切换场景,我希望每个玩家都在本地异步加载场景,以便每个人都可以获得加载屏幕。我正在为命令和 RPC 调用而苦苦挣扎。场景更改后,我想重生一个新玩家并将其与客户端相关联。
public void changeLevel(string name)
{
CmdChangeLevel(name);
//nm.ServerChangeScene(name); -> This doesnt change the scene Async
}
void changeScene(string name)
{
SceneManager.LoadScene(name);
//Stuff to re-Instantiate the player
}
[Command]
void CmdChangeLevel(string name)
{
SceneManager.LoadScene(name);
RpcChangeLevel(name);
}
[ClientRpc]
void RpcChangeLevel(string name)
{
changeScene(name);
}
我尝试的一切都导致了场景切换,但没有实例化玩家,例如 (nm = networkManager) nm.OnServerAddPlayer() 并实例化它,然后通过服务器生成它。帮助将不胜感激,在此先感谢