Атрибуты
Сетевые атрибуты добавляются к функциям скриптов Network Behaviour, чтобы заставить их работать либо на клиенте, либо на сервере.
Эти атрибуты могут использоваться для методов игрового цикла Unity, таких как Start или Update, а также для других реализованных методов.
ПРИМЕЧАНИЕ: при использовании абстрактных или виртуальных методов атрибуты также должны быть применены к переопределяемым методам.
[Server] Только сервер может вызвать этот метод (выдает предупреждение при вызове на клиенте).
[ServerCallback] То же, что и [Server], но не выдает предупреждение при вызове на клиенте.
[Client] Только клиент может вызвать этот метод (выдает предупреждение при вызове на сервере).
[ClientCallback] То же, что и [Client], но не выдает предупреждение при вызове на сервере.
[Command] Вызовите это с клиента, чтобы запустить эту функцию на сервере. Убедитесь в правильности ввода и т.д. Это невозможно вызвать с сервера. Но вы можете использовать это как оболочку для другой функции, если вы хотите вызвать ее и с сервера тоже. Смотрите также удаленные действия и типы данных.
[ClientRpc] Сервер использует удаленный вызов процедуры (RPC) для запуска этой функции на клиентах. Смотрите также: удаленные действия.
[TargetRpc] Это атрибут, который может быть применен к методам класса Network Behaviour чтобы разрешить их вызов на клиентах с сервера. В отличие от атрибута ClientRpc, функции с данным атрибутом вызываются на одном отдельном целевом клиенте, а не на всех готовых клиентах. Смотрите также: удаленные действия.
[SyncVar] SyncVars используются для автоматической синхронизации переменной с сервера со всеми клиентами. Не назначайте их от клиента, это бессмысленно. Не позволяйте им быть нулевыми, вы получите ошибки. Вы можете использовать int, long, float, string, Vector3 и т.д. (все простые типы), а также Network Identity и игровой объект, если к игровому объекту прикреплен Network Identity. Вы можете использовать SyncVar Hooks для запуска кода на клиентах, когда они получают обновление с сервера.
Last updated