SyncVar Hook
Атрибут hook можно использовать для указания функции, которая будет вызываться при изменении значения SyncVar.
Метод Hook должен иметь два параметра того же типа, что и свойство SyncVar. Один для старого значения, один для нового значения.
Hook всегда вызывается после установки значения свойства. Вам не нужно устанавливать его самостоятельно.
Hook срабатывает только для измененных значений, и изменение значения в инспекторе не вызовет обновления.
Начиная с версии 11.1.4 (Март 2020) и позже, hook могут быть виртуальными методами и переопределяться в производном классе.
Ниже приведен простой пример присвоения случайного цвета каждому игроку при его появлении на сервере. Все клиенты будут видеть всех игроков в правильных цветах, даже если они присоединятся позже.
Примечание: Сигнатура для методов перехвата была изменена в версии 9.0 (февраль 2020 г.) на имеющую 2 параметра (старые и новые значения). Если вы используете более старую версию, методы hook имеют только один параметр (новое значение).
Порядок вызова Hook
Hooks вызываются в том порядке, в котором syncvars определены в файле.
если все X, Y и Z установлены на сервере одновременно, то порядок вызовов будет следующим:
X значение установлено
Y значение установлено
Hook1 вызван
Z значение установлено
Hook2 вызван
Last updated