Skip to content

Latest commit

 

History

History
26 lines (22 loc) · 3.74 KB

attributes.md

File metadata and controls

26 lines (22 loc) · 3.74 KB

Атрибуты

Сетевые атрибуты добавляются к функциям скриптов Network Behaviour, чтобы заставить их работать либо на клиенте, либо на сервере.

Эти атрибуты могут использоваться для методов игрового цикла Unity, таких как Start или Update, а также для других реализованных методов.

{% hint style="info" %} ПРИМЕЧАНИЕ: при использовании абстрактных или виртуальных методов атрибуты также должны быть применены к переопределяемым методам. {% endhint %}

  • [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 для запуска кода на клиентах, когда они получают обновление с сервера.