Обратные вызовы компонентов сценария

Обратные вызовы компонентов скрипта перечислены ниже.

Constructor

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

OnPreInit

Вызывается после того, как компонент сценария назначается его сущности-владельцу в сцене. Как только вы перейдете в этот обратный вызов, вы можете быть уверены, что пользовательские переменные из этого экземпляра скрипта установлены. Однако другие компоненты сценария других объектов могут быть еще не назначены. Таким образом, в предварительной инициализации не должно быть никакого логического кода, который полагается на другие компоненты скрипта. Например, в pre-init ManagedObject регистрируется в массиве управляемых объектов в текущем экземпляре миссии.

OnInit

Вызывается после загрузки миссии и инициализации всех скриптовых компонентов сущностей. Вы можете использовать любой тип логического кода внутри этого обратного вызова. Скрипты, созданные во время выполнения, также получают этот обратный вызов.

OnEditorInit

Вызывается при загрузке сцены из редактора. Помните, что в редакторе нет миссии или состояния игры.

OnTick

Вызывается для каждого компонента сценария в каждом кадре миссии из одного и того же потока.

OnEditorTick

Версия функции OnTick для редактора

IsOnlyVisual

Если у вас есть компонент сценария, который является только визуальным и не имеет логического кода, и должен выполняться на выделенном сервере, вы должны вернуть true в этой функции. Это гарантирует, что этот тип сценариев не будет работать на выделенном сервере.

OnEditorVariableChanged

Вызывается в редакторе всякий раз, когда пользователь изменяет общедоступную переменную в этом компоненте скрипта. Этот обратный вызов может использоваться для любого изменения состояния визуальной логики, если художнику нужна мгновенная обратная связь на сцене редактора.

OnRemoved

Вызывается при удалении объекта или компонента скрипта. Если у вас есть какие-либо выделенные объекты, которые хранятся где-то еще (например, статические контейнеры), вы можете использовать этот обратный вызов, чтобы убедиться, что они не просочились.