繁体   English   中英

无法在 Unity 中使用 Fish Networking 重新加载当前活动的场景?

[英]Can't reload currently active scene with Fish Networking in Unity?

我正在尝试重新加载当前活动的场景,以便玩家可以从头开始游戏但没有任何反应:我正在使用文档中的代码,它在加载其他场景时工作正常,但正如我所说的尝试加载时没有任何反应当前在服务器和所有客户端上处于活动状态的场景! 这是代码:

[ServerRpc(RequireOwnership = false)]
[Server]
public void ReloadScene()
{
    SceneLoadData sld = new SceneLoadData("MainScene");
    sld.MovedNetworkObjects = new NetworkObject[] { _players[0].NetworkObject };
    sld.ReplaceScenes = ReplaceOption.All;
    NetworkManager.SceneManager.LoadGlobalScenes(sld);
}

好的,根据 FishNet 的创建者所说的在 FishNet 中重新加载当前活动场景是不可能的,所以解决方法是加载并清空场景,然后再次加载第一个场景。 并记住在服务器而不是客户端上运行此代码!

public void ReloadScene()
{
    SceneLoadData sld = new SceneLoadData("EmptyScene");
    sld.ReplaceScenes = ReplaceOption.All;
    NetworkManager.SceneManager.LoadGlobalScenes(sld);

    sld = new SceneLoadData("MainScene");
    sld.ReplaceScenes = ReplaceOption.All;
    NetworkManager.SceneManager.LoadGlobalScenes(sld);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM