Spawn объект с пользовательским скриптом с Unity Network

У меня есть PlayerPref, который порождает больше объектов в OnStartLocalPlayer(). Поэтому в OnStartLocalPlayer () он вызывает Command(предположим, что он вызывается на сервере), который создает экземпляр GameObject и устанавливает некоторые значения его сценариев. В конце он вызывает SpanWithClientAuthority()... Дело в том, что на клиенте владельца и на сервере эти настройки скриптов корректны, но на всех других клиентах он потерял все эти настройки (например, gameobject ref и т. Д.). Что я делаю не так?

Еще раз в двух словах: playerPref GO должен иметь список ссылок нескольких других объектов, и эти объекты должны иметь ссылку на этот playerPref GO. (сделать их частью playerPref GO не является решением).

1 ответ

Решение

Если я правильно понимаю вашу проблему, вам нужно установить ссылки для всех клиентов, имеющих один и тот же игровой объект. [Command]для клиента к серверу. То, что вам нужно, это [ClientRpc], Сделать OnStartLocalPlayer() позвонить [ClientRpc] функция, в этой функции (например: RpcSetRefs()) установите ссылки, которые нужны каждому клиенту.

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