Добавление делегата в существующий многоадресный делегат через параметр функции - PullRequest
0 голосов
/ 12 марта 2019

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

void UFiniteStateMachine::CreateTransition(TSoftObjectPtr<UFSM_State> from, TSoftObjectPtr<UFSM_State> to, const FQueryTransition &QueryTransitionCallback, float delay)
{
    UFSM_Transition* newTransition = NewObject<UFSM_Transition>();

    newTransition->transitionTime = delay;

    newTransition->QueryTransition.Add(QueryTransitionCallback);
}

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

DECLARE_DYNAMIC_DELEGATE_OneParam(FQueryTransition, UFSM_Transition*, self);

переменная newTransition определяется следующим образом:

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FQueryTransition, UFSM_Transition*, self);

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

enter image description here

...