- Задача:
На карте эктор (A) и боты(B).
Эктор(A), реагируя на собственное уничтожение, обновляет состояние ботов ( B->BotUpdate() ).
- Что предпринималось:
Эктор(А) имплементирует методы OnDestroy() \ Destroyed(), BeginDestroy() и :
1) Эктор(А) броадкастит делега с прослушивающими ботами(B) на собственное обновление (.AddDynamic(this, &B::BotUpdate) )
2) Прямое итеративное обновление каждого бота (B->BotUpdate() )
- Проблема:
В процессе изучения логов и дебагинга, метод бота BotUpdate(), определенный как UFUNCTION(), не вызывается(не отвечает) для обоих вариантов
- Решение:
Не обьявлять функцию как UFUNCTION(),в таком случае, для первого варианта - прослушивающие боты отвечают, а во втором варианте - функция BotUpdate() успешно вызывается
- Вопрос:
С чем связано такое поведение системы рефлексии и есть ли другое, более адекватное, решение?