Ребята, еще один нубский вопрос (в гугле не смог найти) Как

мне создать С++ евент, на которую можно подписаться в Blueprints?

Задача: Есть character, который получает damage. Нужно на каждое изменение значения hp слать оповещение слушателям евента. В моем случае, слушателем будет progress bar (health bar)

Чет совсем запутался с этими делегатами, макросами и т.д. Может есть простая инструкция как это сделать?

9 ответов

11 просмотров

Если хочешь ТОЛЬКО в БП использовать, то BlueprintImplementableEvent,е сли хочешь реализацию по умолчанию в плюсах BlueprintNativeEvent пользуй в UFUNCTION()

Вот пример из Match3

А можно вот так:

Almaz-Murzabekov Автор вопроса

Для понимания (больше для себя) последовательность вызовов 1. Чарактер получает урон 2. В методе чарактера DamageApply - вызываю функцию (hey_my_health_changed_please_be_informed()) 3. Виджет, который отображает прогресс бар, подписывается на эту функцию (hey_my_health_changed_please_be_informed) 4. При получении евента, на виджете вызывается функция update_progress_bar_value И получается, что чарактер должен слать евенты из C++, а виджет имплементировать обработку ивента в BP

Almaz Murzabekov
Для понимания (больше для себя) последовательность...

https://unrealcommunity.wiki/calling-bp-events-from-cpp-usceo7hw Вот нашел статейку

Almaz-Murzabekov Автор вопроса

В дискорде ребята написали что нужно использовать dynamic multicast delegate - сижу курю, что за зверь этот тако)

Almaz Murzabekov
В дискорде ребята написали что нужно использовать ...

Щас попробую объяснить. Во-первых над классом ты должен объявить можно сказать тип делегата.

Сергей Егиязаров
Щас попробую объяснить. Во-первых над классом ты д...

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

Almaz-Murzabekov Автор вопроса

Похожие вопросы

Обсуждают сегодня

Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Добрый день! Кто-нибудь знает как подключить твиг в контроллеры плагина?
Николай Афанасенко
5
А че SwiftUI for Web ещё нет?
Shagit Ziganshin
7
привет, а расскажите как бэкапите свой vault raft cluster CE? я немного почитал и понял, что нужно как-то выполнять vault operator raft snapshot save backup.snapshot подсовыва...
[DBST] Dmitry Knyazev
5
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
дикшинари ж вообще не сортабельны. Как оно будет выдавать ту же сортировку?
Куся 🌿⃤ __UKS
3
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Карта сайта