5#include "Commandlets/Commandlet.h"
8#include "DlgHumanReadableTextCommandlet.generated.h"
21 GENERATED_USTRUCT_BODY()
24 TArray<int32> ParentNodeIndices;
27 TArray<int32> ChildNodeIndices;
35 GENERATED_USTRUCT_BODY()
40 int32 SourceNodeIndex = INDEX_NONE - 1;
43 int32 TargetNodeIndex = INDEX_NONE - 1;
54 GENERATED_USTRUCT_BODY()
59 int32 TargetNodeIndex = INDEX_NONE - 1;
88 GENERATED_USTRUCT_BODY()
91 bool IsValid()
const {
return NodeIndex >= INDEX_NONE; }
96 int32 NodeIndex = INDEX_NONE - 1;
113 GENERATED_USTRUCT_BODY()
117 bool IsValid()
const {
return NodeIndex >= INDEX_NONE; }
122 int32 NodeIndex = INDEX_NONE - 1;
139 GENERATED_USTRUCT_BODY()
167 int32 Main(
const FString& Params)
override;
174 bool IsEdgeTextDefault(
const FText& EdgeText);
182 static void ExportNodeEdgesToHumanReadableFormat(
const TArray<FDlgEdge>& Edges, TArray<FDlgEdge_FormatHumanReadable>& OutEdges);
186 FString OutputInputDirectory;
188 TArray<UPackage*> PackagesToSave;
191 bool bSaveAllDialogues =
false;
192 bool bExport =
false;
193 bool bImport =
false;
195 static constexpr int32 RootNodeIndex = INDEX_NONE;
196 static const TCHAR* FileExtension;
DECLARE_LOG_CATEGORY_EXTERN(LogDlgHumanReadableTextCommandlet, All, All)
UCLASS(BlueprintType, Meta = (DisplayThumbnail = "true"))
const UDlgSystemSettings * Settings
bool IsEdgeTextDefault(const FText &EdgeText)
int32 Main(const FString &Params) override
FString OutputInputDirectory
static bool ExportNodeToContext(const UDlgNode *Node, FDlgNodeContext_FormatHumanReadable &OutContext)
static const TCHAR * FileExtension
UDlgHumanReadableTextCommandlet()
static void ExportNodeEdgesToHumanReadableFormat(const TArray< FDlgEdge > &Edges, TArray< FDlgEdge_FormatHumanReadable > &OutEdges)
static constexpr int32 RootNodeIndex
TArray< UPackage * > PackagesToSave
bool ImportHumanReadableFormatIntoDialogue(const FDlgDialogue_FormatHumanReadable &Format, UDlgDialogue *Dialogue)
static bool SetGraphNodesNewEdgesText(UDialogueGraphNode *GraphNode, const TArray< FDlgEdge_FormatHumanReadable > &Edges, int32 NodeIndex, const UDlgDialogue *Dialogue)
bool ExportDialogueToHumanReadableFormat(const UDlgDialogue &Dialogue, FDlgDialogue_FormatHumanReadable &OutFormat)
UCLASS(BlueprintType, Abstract, EditInlineNew, ClassGroup = "Dialogue")
UCLASS(Config = Engine, DefaultConfig, meta = (DisplayName = "Dialogue System Settings"))
TArray< int32 > ChildNodeIndices
UPROPERTY()
TArray< int32 > ParentNodeIndices
UPROPERTY()
FText EdgeText
UPROPERTY()