Создайте унаследованный от C++ класс, который можно будет использовать в Blueprint в Unreal Engine.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Создайте унаследованный от C++ класс, который можно будет использовать в Blueprint в Unreal Engine.

Сообщение Anonymous »

У меня есть интерфейс CPP с несколькими виртуальными функциями, которые я могу найти в своем проекте Blueprint благодаря «UINTERFACE(BlueprintType)»:

Код: Выделить всё

UINTERFACE(BlueprintType)
class UFLoop_ConditionalBloc : public UFBloc {
GENERATED_BODY()
public:
virtual ~UFLoop_ConditionalBloc() = default;
};

class IFLoop_ConditionalBloc : public IFBloc
{
GENERATED_BODY()
public:

virtual void Initialize() const = 0;
virtual void Update() const = 0;

protected:
std::unique_ptr action;
};
У меня также есть класс, унаследованный от этого, но он не имеет «UCLASS(BlueprintType)» и не наследуется от «UObject», поэтому я не могу найти его в Схема:

Код: Выделить всё

class WhileBloc : public IFLoop_ConditionalBloc {
private:
std::function condition;
std::unique_ptr action;

public:
WhileBloc(std::function cond, std::unique_ptr act)
: condition(cond), action(std::move(act)) {}

void Execute() const override {
// implementation of my function
}
};
Я хочу знать, как наследовать его от «IFLoop_ConditionalBloc», чтобы переопределить его функции, а также от «UObject», чтобы иметь возможность найти его в Blueprint
Когда я пытаюсь это сделать:

Код: Выделить всё

UCLASS(BlueprintType)
class UWhileBloc : public UObject, public IFLoop_ConditionalBloc {
У меня возникла ошибка: «Класс, отмеченный UCLASS, должен наследовать только один класс, производный от UObject или UObject напрямую».
Каков наилучший способ получить класс, который наследуется от другого, доступного в Blueprint?

Подробнее здесь: https://stackoverflow.com/questions/791 ... eal-engine
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»