Отличия делегатов в Unreal Engine

Я решил написать эту небольшую шпаргалку, чтобы самому разобраться в отличиях между делегатами. Потому что раньше, чтобы ответить на вопрос: "Какой делегат использовать сейчас?" мне приходилось лазить по туториалам и докам, собирая всю информацию вместе.

Отличия делегатов в Unreal Engine
54

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

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

На мой взгляд основное отличие dynamic делегата от статического это именно то, как происходит бинд, от сюда вытакает и все остальное и дает более понимание о механизмах работы.

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

5
Ответить

ну вы посморите какой умный

2
Ответить

Их можно байндить по имени функции - все верно. Но если мне не изменяет память - в блюпринтах их всё-таки использовать нельзя. Проверить сейчас не могу 🤷🏻‍♂️

И кстати по адресу их тоже можно байндить

Ответить