135 FText GetSectionText()
const override;
137 FText GetSectionDescription()
const override;
140 bool SupportsAutoRegistration()
const override {
return true; }
143#if ENGINE_MINOR_VERSION >= 25
144 bool CanEditChange(
const FProperty* InProperty)
const override;
146 bool CanEditChange(
const UProperty* InProperty)
const override;
149 void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
override;
153#define CREATE_SETTER(_NameMethod, _VariableType, _VariableName) \
154 void _NameMethod(_VariableType InVariableValue) \
156 if (_VariableName != InVariableValue) \
158 _VariableName = InVariableValue; \
163 CREATE_SETTER(SetShowPrimarySecondaryEdges,
bool, bShowPrimarySecondaryEdges)
165 CREATE_SETTER(SetDrawSecondaryEdges,
bool, bDrawSecondaryEdges)
166 CREATE_SETTER(SetHideEmptyDialogueBrowserCategories,
bool, bHideEmptyDialogueBrowserCategories)
173 bool IsIgnoredTextForLocalization(
const FText& Text)
const;
176 FORCEINLINE
bool IsTextRemapped(
const FText& Text)
const {
return IsSourceStringRemapped(*FTextInspector::GetSourceString(Text)); }
177 FORCEINLINE
bool IsSourceStringRemapped(
const FString& SourceString)
const {
return LocalizationRemapSourceStringsToTexts.Contains(SourceString); }
178 FORCEINLINE
const FText& GetTextRemappedText(
const FText& Text)
const {
return GetSourceStringRemappedText(*FTextInspector::GetSourceString(Text)); }
179 FORCEINLINE
const FText& GetSourceStringRemappedText(
const FString& SourceString)
const {
return LocalizationRemapSourceStringsToTexts.FindChecked(SourceString); }
184 const UClass* ThisClass = GetClass();
185 if (ThisClass->HasAnyClassFlags(CLASS_DefaultConfig))
187 UpdateDefaultConfigFile();
189 else if (ThisClass->HasAnyClassFlags(CLASS_GlobalUserConfig))
191 UpdateGlobalUserConfigFile();
201 static bool HasTextFileExtension(
EDlgDialogueTextFormat TextFormat) {
return !GetTextFileExtension(TextFormat).IsEmpty(); }
204 static const TSet<FString>& GetAllCurrentTextFileExtensions();
207 TSet<FString> GetAllTextFileExtensions()
const;
210 EClassViewerDisplayMode::Type GetUnrealClassPickerDisplayMode()
const
214 return EClassViewerDisplayMode::ListView;
218 return EClassViewerDisplayMode::TreeView;
221 return EClassViewerDisplayMode::DefaultView;
228 UPROPERTY(Category =
"Runtime", Config, EditAnywhere)
229 bool bClearDialogueHistoryAutomatically =
true;
233 UPROPERTY(Category =
"Runtime", Config, EditAnywhere)
234 bool bRegisterDialogueConsoleCommandsAutomatically =
true;
238 UPROPERTY(Category =
"Dialogue", Config, EditAnywhere,
DisplayName =
"Text Format")
242 UPROPERTY(Category = "
Dialogue", Config, EditAnywhere,
DisplayName = "Text Input Key for NewLine")
248 UPROPERTY(Category = "
Dialogue", Config, EditAnywhere)
249 bool bAutoSetDefaultParticipantClasses = true;
252 UPROPERTY(Category = "
Dialogue Node Data", Config, EditAnywhere)
253 bool bShowNodeData = true;
260 UPROPERTY(Category = "
Dialogue Node Data", Config, EditAnywhere,
DisplayName = "Displayed Voice Fields")
264 UPROPERTY(Category = "
Dialogue Node Data", Config, EditAnywhere)
265 bool bShowGenericData = false;
267 UPROPERTY(Category = "
Dialogue Node Data", Config, EditAnywhere, AdvancedDisplay)
268 bool bShowAdvancedChildren = true;
271 UPROPERTY(Category = "
Dialogue", Config, EditAnywhere)
272 TArray<UClass*> BlacklistedReflectionClasses;
275 UPROPERTY(Category = "Blueprint", Config, EditAnywhere)
280 UPROPERTY(Category = "Batch", Config, EditAnywhere)
281 bool bBatchOnlyInGameDialogues = true;
285 UPROPERTY(Category = "Batch", Config, EditAnywhere)
286 TSet<FString> AdditionalTextFormatFileExtensionsToLookFor;
291 bool bSetDefaultEdgeTexts = true;
295 bool bSetDefaultEdgeTextOnFirstChildOnly = true;
298 UPROPERTY(Category = "
Default Texts", Config, EditAnywhere,
DisplayName = "Edge Text To End Node")
299 FText DefaultTextEdgeToEndNode;
302 UPROPERTY(Category = "
Default Texts", Config, EditAnywhere,
DisplayName = "Edge Text To Normal Node")
303 FText DefaultTextEdgeToNormalNode;
307 UPROPERTY(Category = "Localization", Config, EditAnywhere,
DisplayName = "Text Namespace")
312 UPROPERTY(Category = "Localization", Config, EditAnywhere,
DisplayName = "Text
Global Namespace
Name")
313 FString DialogueTextGlobalNamespaceName = "
Dialogue";
317 UPROPERTY(Category = "Localization", Config, EditAnywhere,
DisplayName = "Text Namespace
Name Prefix")
318 FString DialogueTextPrefixNamespaceName = "Dialogue_";
325 UPROPERTY(Category = "Localization", Config, EditAnywhere, AdvancedDisplay,
DisplayName = "Ignored Strings")
326 TSet<FString> LocalizationIgnoredStrings;
331 UPROPERTY(Category = "Localization", Config, EditAnywhere, AdvancedDisplay,
DisplayName = "Remap Source Strings to Texts")
332 TMap<FString,
FText> LocalizationRemapSourceStringsToTexts;
336 UPROPERTY(Category = "Logger", Config, EditAnywhere)
337 bool bEnableMessageLog = true;
340 UPROPERTY(Category = "Logger", Config, EditAnywhere)
341 bool bMessageLogMirrorToOutputLog = true;
345 UPROPERTY(Category = "Logger", Config, EditAnywhere)
346 bool bMessageLogOpen = true;
350 bool bEnableOutputLog = false;
357 UPROPERTY(Category = "Logger", Config, EditAnywhere, AdvancedDisplay)
362 UPROPERTY(Category = "Logger", Config, EditAnywhere, AdvancedDisplay)
367 UPROPERTY(Category = "Browser", Config, EditAnywhere)
368 bool bHideEmptyDialogueBrowserCategories = true;
376 UPROPERTY(Category = "External URLs", Config, EditAnywhere)
377 bool bShowExternalURLsToolbar = true;
379 FString URLNotYetPlugins = "https:
380 FString URLMarketplace = "https:
381 FString URLWiki = "https:
382 FString URLForum = "https:
383 FString URLDiscord = "https:
391 UPROPERTY(Category = "Graph Node", Config, EditAnywhere)
392 float DescriptionWrapTextAt = 256.f;
395 UPROPERTY(Category = "Graph Node", Config, EditAnywhere)
396 FMargin DescriptionTextMargin = FMargin(5.f);
399 UPROPERTY(Category = "Graph Node", Config, EditAnywhere)
400 TEnumAsByte<EHorizontalAlignment> TitleHorizontalAlignment = HAlign_Fill;
403 UPROPERTY(Category = "Graph Node", Config, EditAnywhere)
404 bool bShowHasEnterConditionsIcon = true;
407 UPROPERTY(Category = "Graph Node", Config, EditAnywhere)
408 bool bShowHasEnterEventsIcon = true;
411 UPROPERTY(Category = "Graph Node", Config, EditAnywhere)
412 bool bShowHasVoiceIcon = true;
415 UPROPERTY(Category = "Graph Node", Config, EditAnywhere)
416 bool bShowHasGenericDataIcon = true;
423 UPROPERTY(Category = "Graph Node Color", Config, EditAnywhere)
424 FLinearColor SpeechNodeColor = FLinearColor{0.050980f, 0.278431f, 0.631373f, 1.f};
427 UPROPERTY(Category =
"Graph Node Color", Config, EditAnywhere)
428 FLinearColor RootNodeColor = FLinearColor{0.105882f, 0.368627f, 0.125490f, 1.f};
431 UPROPERTY(Category =
"Graph Node Color", Config, EditAnywhere)
432 FLinearColor EndNodeColor = FLinearColor{0.835294f, 0.f, 0.f, 1.f};
435 UPROPERTY(Category =
"Graph Node Color", Config, EditAnywhere)
436 FLinearColor VirtualParentNodeColor = FLinearColor{0.129412f, 0.129412f, 0.129412f, 1.0f};
439 UPROPERTY(Category =
"Graph Node Color", Config, EditAnywhere)
440 FLinearColor SelectorFirstNodeColor = FLinearColor{0.f, 0.721569f, 0.831373f, 1.f};
443 UPROPERTY(Category =
"Graph Node Color", Config, EditAnywhere)
444 FLinearColor SelectorRandomNodeColor = FLinearColor{1.f, 0.839216f, 0.f, 1.f};
447 UPROPERTY(Category =
"Graph Node Color", Config, EditAnywhere)
448 FLinearColor SpeechSequenceNodeColor = FLinearColor{0.050980f, 0.278431f, 0.631373f, 1.f};
451 UPROPERTY(Category =
"Graph Node Color", Config, EditAnywhere)
452 FLinearColor BorderBackgroundColor = FLinearColor::Black;
455 UPROPERTY(Category =
"Graph Node Color", Config, EditAnywhere)
456 FLinearColor BorderHoveredBackgroundColor = FLinearColor(0.380392f, 0.380392f, 0.380392f, 1.0f);
459 UPROPERTY(Category =
"Graph Node Speech Sequence", Config, EditAnywhere)
460 FMargin DescriptionSpeakerMargin = FMargin(1.f);
463 UPROPERTY(Category =
"Graph Node Speech Sequence", Config, EditAnywhere)
464 TEnumAsByte<EHorizontalAlignment> DescriptionSpeakerHorizontalAlignment = HAlign_Center;
468 UPROPERTY(Category =
"Graph Edge", Config, EditAnywhere)
469 float WireThickness = 2.0f;
472 UPROPERTY(Category =
"Graph Edge", Config, EditAnywhere)
473 bool bWireDrawBubbles =
false;
476 UPROPERTY(Category =
"Graph Edge", Config, EditAnywhere)
477 bool bShowEdgeHasConditionsIcon =
true;
480 UPROPERTY(Category =
"Graph Edge Color", Config, EditAnywhere)
481 FLinearColor WireBaseColor = FLinearColor{1.0f, 1.0f, 1.0f, 1.0f};
484 UPROPERTY(Category =
"Graph Edge Color", Config, EditAnywhere)
485 bool bShowDifferentColorForConditionWires =
true;
488 UPROPERTY(Category =
"Graph Edge Color", Config, EditAnywhere)
489 FLinearColor WireWithConditionsColor = FLinearColor{1.f, 0.341176f, 0.133333f, 1.0f};
492 UPROPERTY(Category =
"Graph Edge Color", Config, EditAnywhere)
493 FLinearColor WireHoveredColor = FLinearColor{1.0f, 0.596078f, 0.0f, 1.0f};
496 UPROPERTY(Category =
"Graph Edge", Config, EditAnywhere)
497 bool bShowPrimarySecondaryEdges =
true;
500 UPROPERTY(Category =
"Graph Edge", Config, EditAnywhere)
501 bool bDrawPrimaryEdges =
true;
504 UPROPERTY(Category =
"Graph Edge", Config, EditAnywhere)
505 bool bDrawSecondaryEdges =
true;
508 UPROPERTY(Category =
"Graph Edge Color", Config, EditAnywhere)
509 FLinearColor WirePrimaryEdgeColor = FLinearColor{0.717647f, 0.109804f, 0.109804f, 1.0f};
512 UPROPERTY(Category =
"Graph Edge Color", Config, EditAnywhere)
513 FLinearColor WireSecondaryEdgeColor = FLinearColor{0.101961f, 0.137255f, 0.494118f, 1.f};
520 UPROPERTY(Category =
"Position", Config, EditAnywhere, AdvancedDisplay)
521 int32 OffsetBetweenColumnsX = 500;
524 UPROPERTY(Category =
"Position", Config, EditAnywhere, AdvancedDisplay)
525 int32 OffsetBetweenRowsY = 200;