Я пробовал разные идеи, и у меня было 2 разных подхода:
1-Как я уже рассказывал в комментариях, попробуйте nestobbyManagers
2- "Подделка" раскола сцены на lobbys
1. Вложенные лобби
Концепция:
Первая сцена, MainLobby, 4 игрока входят и переходят ко второй сцене
Вторая сцена, MainGame + SecondLobby, есть 4 игрока, пришедших из первой сцены, но теперь 2 из них хотят перейти в третью сцену, поэтому они используют SecondLobby, чтобы снова найти матч.
- Третья сцена, Вторая игра.
Это лучший подход, я думаю, если мы говорим о производительности, но это сложная причина:
-Actual Unity NetworkLobby использует шаблон синглтона, поэтому вам необходимо снова кодировать синглтон-части.
-LobbyManager построен с DontDestroyOnLoad, так что вы заряжаете другое лобби на следующей сцене.
-Я действительно не знаю, можете ли вы вернуться из третьей сцены ко второй: S
2. Поддельные сцены
Ну, добро пожаловать в «грязные трюки», вторая концепция:
Первая сцена, MainLobby, 4 игрока входят и переходят ко второй сцене
Вторая сцена, MainGame, 4 игрока пришли из первой сцены, но теперь 2 из них хотят перейти в третью сцену.
- Третья сцена, SecondGame.
Но вместо того, чтобы снова "matchmake", мы добавляем сцену как аддитивную сцену, но с разными координатами, и перемещаем 2 игроков, которые хотят сражаться, в третьей сцене. Таким образом, игроки будут думать, что они находятся на другой сцене, но они не просто двигаются. Думает, чтобы иметь в виду:
-Может быть, вам не нужно использовать аддитивную сцену, просто строить на одной сцене, на разных координатах. (https://docs.unity3d.com/ScriptReference/SceneManagement.LoadSceneMode.Additive.html)
-Подумайте, что они все еще являются 4 сетевыми игроками на одной сцене, поэтому, возможно, вы захотите «отключить» некоторые сетевые сообщения, чтобы влиять только на некоторых игроков на определенных «сценах». (https://docs.unity3d.com/ScriptReference/Networking.NetworkClient.Send.html)
Но если вы достигнете какого-то другого подхода, дайте мне знать, это действительно дает интересные вещи для дизайна игры! : D