.h
DECLARE_DELEGATE(Close);
DECLARE_DELEGATE(OpenFinished);
Close Action;
OpenFinished _OpenFinished;
UFUNCTION(BlueprintCallable)
void SetOpen();
UFUNCTION(BlueprintCallable)
void SetOpen(const OpenFinished& _actFinished);
.cpp
void ABaseView::SetOpen()
{
SetOpen((OpenFinished)nullptr);
}
void ABaseView::SetOpen(const OpenFinished & _actFinished)
{
if (!_actFinished.TryGetBoundFunctionName().IsNone())
{
_OpenFinished = _actFinished;
_OpenFinished.ExecuteIfBound();
}
}
Я делаю это сейчас.
Изменениеобъявление делегата Close и OpenFinished к DECLARE_DYNAMIC_MULTICAST_DELEGATE приводит к ошибке E0077.Я хотел бы сделать его доступным в Blueprint, но делегат продолжает получать сообщение об ошибке.