Голосование

Как вы относитесь к играм в жанре "симулятор колонии"?












Оформление



Пользователей
  • Всего: 29196
  • Последний: hoy545
Сейчас на форуме
Пользователи: 0
Гостей: 504
Всего: 504

0 Пользователей и 1 Гость просматривают эту тему.

Тема: Создание сцен. Обратные вызовы компонентов скрипта  (Прочитано 1539 раз)

  • Сообщений: 26120
  • За победу в конкурсе "Знамя кальрадийца" И создали они сайт... За регистрацию на форуме не позже сентября 2008 года
  • Сервер Discord
    • Просмотр профиля
    • Всадники Кальрадии
Автор: Alisacat007

Колбэк (от англ. 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)), вы можете использовать этот колбэк, чтобы убедиться, что они не проникли в сцену.

  • Ник в M&B: [RUSMNB]Vanok
  • Фракция: Вегиры
И помните: "Хватит набивать посты" (NightHawkreal)

СиЧЪ Total War СиЧЪ Total War
Сайт "Всадники Кальрадии" не является СМИ. Администрация не несет ответственность за высказывания и публикацию каких-либо материалов, сделанные любыми пользователями форума, в том числе посредством личных и публичных сообщений. Материалы, размещенные на ресурсе третьими лицами, могут содержать информацию, не предназначенную для лиц, не достигнувших совершеннолетия. При обнаружении на ресурсе материалов, нарушающих законодательство Российской Федерации, необходимо обращаться к администрации.
Сайт работает на быстром VPS/VDS хостинге от FASTVPS


Powered by SMF 2.0 | SMF © Simple Machines LLC