Как открыть EditorWidget с помощью плагина EditorToolbarButton - PullRequest
0 голосов
/ 18 октября 2019

Я хотел бы открыть виджет редактора, который принимает пользовательские входные данные через плагин кнопки панели инструментов редактора, указанный в UE4 4.23. Проблемы не входные, я получил, что разобрались. Скорее, чтобы действительно было окно, которое всплывает, как только я нажимаю на эту кнопку плагина. Я довольно новичок в Unreal и C ++ (около 3 недель)

https://isaratech.com/ue4-programmatically-starting-an-editor-utility-widget/

Я использовал эту информацию от isaratech. Но я уже застрял на:

#include "CoreMinimal.h"
#include "Editor/Blutility/Classes/EditorUtilityWidget.h"
#include "Runtime/Engine/Classes/Kismet/BlueprintFunctionLibrary.h"
#include "EditorWidgetFunctionLibrary.generated.h"

UCLASS(BlueprintType)
class CPPEDITORWIDGET_API UEditorWidgetFunctionLibrary : public 
UBlueprintFunctionLibrary
{
    GENERATED_BODY()

public:
    UFUNCTION(BlueprintCallable)
        static void StartWidget(UWidgetBlueprint* Blueprint);
};

Но это не работает вообще. Например, у меня возникают проблемы с GENERATED_BODY (), когда я включаю #include "Editor / Blutility / Classes / EditorUtilityWidget.h". Говоря это не хватает памяти. Я исправляю проблему GENERATED_BODY (), когда внезапно UWidgetBlueprint больше не определяется, но это было всего секунду назад. Исправьте эту проблему, и внезапно сгенерированный .h больше не будет вызываться из папки. Сказать, что это не существует. Я в некоторой лазейке и вроде как потерян.

Я пытался разобраться в этом, если 4.22 и 4.23 сильно отличаются друг от друга, поскольку «Учебное пособие» Isartech основано на 4.22, но мне не повезло в обеих версиях.

Я ожидаю, чтоЯ нажимаю на плагин панели инструментов, и он открывает виджет редактора. До сих пор Isaratech был лучшим объяснением, но все же немного худым, чем я ожидал. А все остальное просто не то, что мне действительно нужно. Я знаю, что UE4 4.23 довольно новый, но я все еще надеюсь, что кто-то знает ответ. Прямо сейчас это единственное, в чем мы застряли. Если этот вопрос требует дальнейшей проработки, я постараюсь изо всех сил.

...