2016-05-26 6 views
1

У меня многопользовательская игра (на самом деле это двухпользовательская игра),
Один игрок запускает как host, а второй - как клиент.
Но я хочу, чтобы клиент выбирал, какую сцену загружать.
Это означает, что для этого нужно либо использовать [Command].
Но я столкнулся с проблемами клиентов власти и получить эту ошибку: Trying to send command for object without authority.В Unity, как вы отправляете сообщение (синхронизировать var, вызывать команду) от клиента к серверу без использования объекта игрока

Если я пытаюсь установить объекты на местную власть я получаю: AssignClientAuthority can only be call on the server for spawned objects.

Даже если удалить власть и сбросить его он заканчивает с такой же владелец.

Я пробовал отправлять сообщения, используя SendAll тоже.

Так есть ли другой способ, который мне не хватает?

ответ

1

Насколько я знаю, нет чистого способа сделать это без использования объекта игрока. То, что я сделал, - дать игроку объект, который просто перенаправляет вызовы функций соответствующим объектам на стороне сервера. Никакая логика для функции не выполняется в этом компоненте проигрывателя, она просто передает вызов.

+0

Спасибо @Dean Johnson Да, я тоже закончил с обходным решением. Я вложил простой HTTP-сервер в качестве компонента в пустой игровой объект и может отправлять пользовательские команды туда и обратно. – Ali