Как сделать интерфейс смерти/лечения/респавна и др.?

Новичок
Статус
Оффлайн
Регистрация
11 Мар 2021
Сообщения
2
Реакции[?]
0
Поинты[?]
0
Есть задача сделать событие смерти максимально правильно. Есть компонент который следит за показателями, считает их и он и должен вызывать смерть конкретного объекта со всеми вытекающими, анимация, забирание управления, интерфейс и подобное. На данный момент я остановился на event dispatcher, но он уж совсем костыльно выглядит, пробовал через интерфейс, но проблема в том что он выглядит ещё более костыльным(у меня). Интерфейс запускает Event в классе персонажа, но не может запустить его в аним блупринте, что заставляет делать эту реализацию в персонаже. А то есть Component -> ThirdPerson -> AnimBP, такая реализация ещё хуже диспатчера где я просто вместе с ивентом передаю кто сдох, и во всех элементах делаю проверку, действительно ли владелец анимации/HUD/и др. сдох, если да, то соответствующая реализация. Мои ожидания от Интерфейса были больше, но может быть я просто не понял как это сделать? Просто меня интересует должен же быть какой-то инструмент, который ты подключаешь ко всему что может сдохнуть, и вслед за этим к нему прилагаются пачка евентов - возрождение/смерть/лечение/получение урона и мне нужно просто в поставить что при лечении вызывается эта анимация, худ и такая логика?
К слову уже был вариант сделать это через компонент, тип в БП персонажа записывать в компонент ссылки на анимацию, худ и подобное, а в компоненте уже по ним работать. Но мне кажется есть более лаконичный вариант, поэтому хотелось бы уточнить, прежде чем городить всякое
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
7 Мар 2021
Сообщения
24
Реакции[?]
9
Поинты[?]
0
Правильнее вывести здоровье и все что с ним связано в отдельный компонент, при получении урона вызывать делегаты у пешки владельца ( это вроде и есть диспатчеры хз, в бп особо не шарю, если шаришь в плюсах отпишись подробнее расскажу) и соответственно игрок будет уведомлен при получении урона и сможет выполнять необходимую логику и менять нужные стейты, в зависимости от которого будет переключаться анимация в AnimBP, хранить данные о здоровье AnimBP тоже не айс, он должен только считывать информацию
 
Сверху Снизу