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



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

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

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

On Init (При инициализации):
Это вызывается после загрузки миссии и инициализации всех скриптовых компонентов объектов. Вы можете использовать любой тип логического кода внутри этого колбэка. Скрипты, созданные во время выполнения, также получают этот колбэк.

On Editor Init (При инициализации редактора):
Редактированная версия на инициализации. Вызывается при загрузке сцены из редактора. Помните, что в редакторе нет ни миссии, ни игрового состояния.

On Tick (Пометка):
Это вызывается для каждого компонента скрипта в каждом кадре миссии из одного и того же потока.

On Editor Tick (При редактировании отметки):
Редактируемая версия помечена.

Is Only Visual (Только визуально):
Если у вас есть компонент скрипта, который является только визуальным и не имеет никакого логического кода, который должен быть запущен на выделенном сервере, вы должны включить галочку true в этой функции. Это гарантирует, что этот тип скриптов не будет выполняться на выделенном сервере.

On Editor Variable Changed (При изменении переменной редактора):
Это вызывается в редакторе всякий раз, когда пользователь изменяет общедоступную переменную в этом компоненте скрипта. Этот обратный вызов может использоваться для любого изменения состояния визуальной логики, если сценоделу нужна мгновенная обратная связь в редакторе сцен.

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




- используйте эту кнопку если вы обнаружили ошибку/искажение содержимого/отсутствие контента в новости или если хотите сообщить администрации о выходе новой версии мода и т.п.

Комментариев 0

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Онлайн

Сейчас на сайте: 73
Гостей: 71

Пользователи: 

Последние комментарии

BANNERLORD: решение технических проблем
LeSan, Вчера, 17:34
epilect, с этим не поспоришь)...
BANNERLORD: решение технических проблем
epilect, Вчера, 16:10
Ну жизнь такая штука,что 100% лояльности от все не добиться...да и хрен на нее главное,чтобы...
BANNERLORD: решение технических проблем
LeSan, Вчера, 15:28
epilect, я так и делаю в том числе, просто стараюсь комбинировать. Хорошо иметь рядом тех, чья...
BANNERLORD: решение технических проблем
epilect, Вчера, 15:10
А вообще,если у тебя уже есть на карте сильно порезанные гос-ва,то лучше переманивать от туда кланы...
BANNERLORD: решение технических проблем
LeSan, Вчера, 14:52
epilect, да, очень похоже на баг. А совет дельный, спасибо. Попробую....
BANNERLORD: решение технических проблем
epilect, Вчера, 14:27
То есть у нее свой клан.Я с таким не сталкивался,попробуй забрать у клана надел,а потом через время...
BANNERLORD: решение технических проблем
LeSan, Вчера, 14:05
Всем добрых дней! Может сталкивался кто с похожей проблемой, суть вот в чем: у меня свое...
Флудилка V3
Чикабой, Вчера, 01:24
Цитата: GutЧикабой, сайт сам по себе долго будет стоять, но скорее всего без развития.  Давайте...
Флудилка V3
Gut, 8 февраля 2025 22:01
Чикабой, сайт сам по себе долго будет стоять, но скорее всего без развития. ...