Передача сообщений ч / б "Только сервер LAN" и "Клиент LAN" на разных сценах в Unity

Привет, я хочу передать сообщение назад и вперед на клиенте и сервере, которые находятся на разных сценах, как я могу сделать это в Unity?

Вот мой сценарий:- У меня есть 5 сцен

  1. BaseScene (2) OfflineScene (3) OnlineScene (4) ClientOnline (5) ServerOnline.

У всех этих сцен есть кнопка с текстом названий сцен. На базовой сцене я добавил пустой игровой объект, в который я поместил "customNetworkScript", который происходит от сценария "NetworkManager", а также поместил "Network Manager HUD" на него. Ниже приведен код, который я поместил в "customNetworkScript":

public class customNetworkScript : NetworkManager {

        public override void OnClientSceneChanged(NetworkConnection conn)
            {
                SceneManager.LoadScene("ClientOnline", LoadSceneMode.Single);
                ClientScene.Ready(conn);
                ClientScene.AddPlayer(conn, 0);
            }

            public override void OnServerSceneChanged(string sceneName)
            {
                SceneManager.LoadScene("ServerOnline", LoadSceneMode.Single);
            }
    }

Я поместил "OfflineScene" и "OnlineScene" в поля с именами "Offline Scene" и "Online Scene" в компоненте "Network Manager". Также поместили пустой префаб в "Spawn Info" в "customNetworkScript" и на нем есть компонент "Network Identity". Теперь, когда я запускаю проект, в одном случае я нажимаю "Только сервер локальной сети", а в другом случае я нажимаю "Клиент локальной сети". И я получаю свои соответствующие сцены в обоих экземплярах -> "ServerOnline" появляется в том случае, когда я нажимаю "LAN Server only", а "ClientOnline" появляется в другом экземпляре. Что я хочу, так это то, что когда я нажимаю кнопку "ServerOnline", строка сообщения передается на сцену "ClientOnline", и то же самое происходит в обратном направлении, когда я нажимаю кнопку "ClientOnline".

Я пробовал "Rpc" и "Command", но они работают, только когда я нажимаю "LAN Host" вместо "LAN Server Only". Я очень старался, но не смог найти ничего полезного. Будет очень приятно, если кто-то подробно объяснит мне вместе с кодом, как мне этого добиться.

Большое спасибо за ваше время.

1 ответ

После нескольких часов исследований и тяжелой работы, наконец, найдите решение для моей проблемы. Я буду ссылаться на этот актив, если кто-то еще застрял на нем:

Этот ресурс хорошо документирован и расскажет вам все о том, как вы можете создать выделенный / чистый сервер и клиентскую сеть:-

Ссылка на актив

Если кто-то все еще не понимает, не стесняйтесь спрашивать меня. Я сделаю все возможное.

Другие вопросы по тегам