我对构建的多人游戏有这些疑问。我已经浏览了Unity网站上提供的多人游戏教程,也没有看过付费的在线多人课程。我仍然不清楚这些问题,所以我在这里问,希望有人能对此提供适当的详细信息:
我对当前的项目实施有这些疑问,希望有人能向我解释一下。
答案 0 :(得分:2)
您可以根据需要在客户端上使用NetworkManager.singleton.StopClient,在主机上使用NetworkManager.singleton.StopHost,NetworkManager.singleton.StopMatchMaker。
您可以使用玩家GameObjects的NetworkBehaviour属性isClient
和isServer
来找出谁。
由于您说过,如果还没有播放器,您还希望能够检查这一点,您可以在连接后立即以某种方式存储它。
public enum ConnectionType
{
Unknown,
Client,
Host
}
public static class WhoAmI
{
public satic ConnectionType Type;
}
,而不是播放器对象脚本中脚本的某个位置,例如在Awake
中完成
WhoAmI.Connection = isServer ? ConnectionType.Host : ConnectionType.Client;
如果您想稍后再连接,则可以使用相反的方法NetworkManager.singleton.StartMatchMaker,NetworkManager.singleton.StartHost,NetworkManager.singleton.StartClient