Spawn объект с пользовательским скриптом с Unity Network
У меня есть PlayerPref, который порождает больше объектов в OnStartLocalPlayer(). Поэтому в OnStartLocalPlayer () он вызывает Command(предположим, что он вызывается на сервере), который создает экземпляр GameObject и устанавливает некоторые значения его сценариев. В конце он вызывает SpanWithClientAuthority()... Дело в том, что на клиенте владельца и на сервере эти настройки скриптов корректны, но на всех других клиентах он потерял все эти настройки (например, gameobject ref и т. Д.). Что я делаю не так?
Еще раз в двух словах: playerPref GO должен иметь список ссылок нескольких других объектов, и эти объекты должны иметь ссылку на этот playerPref GO. (сделать их частью playerPref GO не является решением).
1 ответ
Если я правильно понимаю вашу проблему, вам нужно установить ссылки для всех клиентов, имеющих один и тот же игровой объект. [Command]
для клиента к серверу. То, что вам нужно, это [ClientRpc]
, Сделать OnStartLocalPlayer()
позвонить [ClientRpc]
функция, в этой функции (например: RpcSetRefs()
) установите ссылки, которые нужны каждому клиенту.