Как отобразить счет каждого игрока [Network Manager]
Я работаю над простой многопользовательской (пока что на 2-х игроков) игрой, основанной на встроенном Network Manager (на основе этого замечательного учебника https://unity3d.com/learn/tutorials/s/multiplayer-networking), и у меня нет абсолютно никаких Идея, как решить мою проблему. Каждый учебник о системах озвучивания, который я нашел, был посвящен локальной многопользовательской игре (без использования Network Manager).
Мой вопрос: как отобразить счет обоих игроков на интерфейсе каждого игрока в формате, подобном [Player1Score: Player2Score], если я сохраню счет игрока в его экземпляре префаба игрока (в виде поля). Я хотел бы отображать оценки любым способом, в виде отдельной строки или в виде добавленной строки (текст пользовательского интерфейса).
Любая помощь и идеи приветствуются! Ура!
2 ответа
Ну, в принципе, насколько я знаю, вам, во-первых, нужен контроллер (на стороне сервера), который ведет счет. Затем через Syncvar и RPC вы можете распространять среди клиентов нужную вам оценку. Логика там по вашему выбору, например, вы можете использовать делегатов каждый раз, когда набирается очко (это будет зависеть от вашей игры), и синхронизировать переменную.
Я не знаю, что у вас за дело? Но могу ли я предложить использовать Socket для передачи данных между клиентом и сервером. Оттуда можно показать счет каждой стороны противнику. Через
https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets.socket?view=net-5.0