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



Колбэк (от англ. 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

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

Онлайн

Сейчас на сайте: 93
Гостей: 91

Пользователи: 
- отсутствуют

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

MOD Rus 13th Century: Way of the Warrior v2.5
sergosafarelly, Вчера, 14:04
Подскажите, возникла проблема, зависает игра на глобаальной карте, курсор двигается. Как решить...
MOD DRANIN FORTRESS
Hero_of_Calradia, 24 июля 2025 20:35
KaiserReich, нормально...
MOD Ancestors: 2112 BC. An Eastern Bronze Age Mod
Rafa Sanchez, 24 июля 2025 00:04
Saludos a toda la comunidad rusa de este sitio. Soy Rafa, miembro del equipo de desarrollo de 2112...
[OSP] [Code] - New notifications, First blood, Heroism, City buildings
the_raven, 19 июля 2025 22:56
Это для мультиплеера, так? Просто я помню, давно ещё ставил Headshot! в сингл, получилось...
Mount & Blade - Эпоха турниров (Warband) 1.174
Artkolobok, 16 июля 2025 13:10
sergosafarelly, Ты должен быть маршалом и собрать поход, чтобы тебе помогли в осадах. Через кнопку...
MOD Grunwald Mod
Хирлуин из Артедаина, 15 июля 2025 17:18
Если мод не заброшен и версия 0.4 (которая уже по скриншотам и описанию выглядит прекрасно) не...
MOD The Old Realms
Albanslavetrader, 15 июля 2025 09:18
SimbaD, Если комп слабый, загрузка может быть долгой....
Mount & Blade - Эпоха турниров (Warband) 1.174
sergosafarelly, 10 июля 2025 20:04
Подскажите, когда осаждаю город либо крепость , то сопровождающие лорды не присоединяются ко мне в...
MOD Rus 13th Century: Way of the Warrior v2.5
sergosafarelly, 5 июля 2025 15:25
Чапалах, Подскажи, в каком файле менял звуки?...