Что эквивалентно RPC в новой сети Unity?

Unity обновила свою сетевую систему и назвала старую унаследованной сетью.

Так как же нам преобразовать наши вызовы RPC в новую сеть Unity? Что является эквивалентом этого подхода? Должны ли мы написать для него собственные методы? (Отправка байтовых массивов и т. д.)


person Toral    schedule 16.06.2015    source источник
comment
Что касается возмутительной работы по переходу от старых RPC к новой сети Unity. В следующем вопросе есть полное объяснение того, как именно это сделать. stackoverflow.com/questions/51381964/   -  person Fattie    schedule 17.07.2018
comment
На самом деле, это тоже очень полезно! stackoverflow.com/questions/51371989/   -  person Fattie    schedule 17.07.2018


Ответы (1)


[ClientRpc] является эквивалентом в новой сетевой системе.

Дополнительную информацию см. здесь: http://docs.unity3d.com/Manual/UNetActions.html


В ответ на ваш комментарий:

В яблочко. Вы [Command] от клиентов до сервера и [ClientRpc] от сервера до всех клиентов.

Кроме того, вы можете отправлять сообщения отдельным клиентам, используя функцию Send() на connectionToClient из NetworkBehaviour. http://docs.unity3d.com/ScriptReference/Networking.NetworkConnection.Send.html

person Andy Barnard    schedule 14.07.2015
comment
за исключением, это только сервер-клиент, а не photonView.RPC(), который можно было бы вызывать с клиента. Чтобы преобразовать код фотона, вам нужно изменить photonView.RPC(blah) на CmdBlah(), который вызовет на сервере [Command]CmdBlah() { RpcBlah(); }, который затем вызовет [ClientRpc] RpcBlah() на всех клиентах (включая первоначальный вызывающий объект). - person peterept; 15.07.2015
comment
Опять же, для тех, кто гуглит здесь, очень полезен следующий вопрос: stackoverflow.com/questions/51381964/ - person Fattie; 17.07.2018