4#include "CoreMinimal.h"
9#define CREATE_VISIBILITY_CALLBACK(_SelfMethod) \
10 TAttribute<EVisibility>::Create(TAttribute<EVisibility>::FGetter::CreateSP(this, _SelfMethod))
12#define CREATE_VISIBILITY_CALLBACK_STATIC(_StaticMethod) \
13 TAttribute<EVisibility>::Create(TAttribute<EVisibility>::FGetter::CreateStatic(_StaticMethod))
15#define CREATE_BOOL_CALLBACK(_SelfMethod) \
16 TAttribute<bool>::Create(TAttribute<bool>::FGetter::CreateSP(this, _SelfMethod))
18#define CREATE_BOOL_CALLBACK_STATIC(_StaticMethod) \
19 TAttribute<bool>::Create(TAttribute<bool>::FGetter::CreateStatic(_StaticMethod))
37 ? EVisibility::Visible : EVisibility::Hidden;
45 ? EVisibility::Visible : EVisibility::Hidden;
53 ? EVisibility::Visible : EVisibility::Hidden;
58 return GetDefault<UDlgSystemSettings>()->bShowNodeData ? EVisibility::Visible : EVisibility::Hidden;
63 return GetDefault<UDlgSystemSettings>()->bShowGenericData ? EVisibility::Visible : EVisibility::Hidden;
68 return GetDefault<UDlgSystemSettings>()->bShowAdvancedChildren ? EVisibility::Visible : EVisibility::Hidden;
74 switch (GetDefault<UDlgSystemSettings>()->DialogueTextInputKeyForNewLine)
77 return EModifierKey::Shift;
81 return EModifierKey::None;
88 if (!PropertyHandle.IsValid())
93 auto* Property = PropertyHandle->GetProperty();
101 template <
typename NumericType>
104 if (!PropertyHandle.IsValid())
110 NumericType NumericValue;
111 if (PropertyHandle->GetValue(NumericValue) != FPropertyAccess::Success)
115 if (PropertyHandle->SetValue(FMath::Clamp(NumericValue, Min,
Max)) != FPropertyAccess::Success)
120 const FString MinString = FString::FromInt(Min);
121 const FString MaxString = FString::FromInt(
Max);
122 auto* Property = PropertyHandle->GetProperty();
125 Property->SetMetaData(
META_UIMin, *MinString);
129 Property->SetMetaData(
META_UIMax, *MaxString);
static const TCHAR * META_ShowOnlyInnerProperties
static const TCHAR * META_UIMin
static const TCHAR * META_ClampMin
static const TCHAR * META_UIMax
static const TCHAR * META_ClampMax
@ SoundWaveAndDialogueWave
UCLASS(BlueprintType, Meta = (DisplayThumbnail = "true"))
UCLASS(Config = Engine, DefaultConfig, meta = (DisplayName = "Dialogue System Settings"))
EDlgVoiceDisplayedFields DialogueDisplayedVoiceFields
UPROPERTY(Category = "Dialogue Node Data", Config, EditAnywhere, DisplayName = "Displayed Voice Field...
EDlgSpeakerStateVisibility DialogueSpeakerStateVisibility
UPROPERTY(Category = "Dialogue Node Data", Config, EditAnywhere, DisplayName = "SpeakerState Visibili...
static EModifierKey::Type GetModifierKeyFromDialogueSettings()
static TArray< FName > GetDialogueSortedParticipantNames(UDlgDialogue *Dialogue)
static FName GetParticipantNameFromPropertyHandle(const TSharedRef< IPropertyHandle > &ParticipantNamePropertyHandle)
static EVisibility GetChildrenVisibility()
static EVisibility GetVoiceSoundWaveVisibility()
static EVisibility GetNodeGenericDataVisibility()
static EVisibility GetNodeDataVisibility()
static UDialogueGraphNode_Base * GetGraphNodeBaseFromPropertyHandle(const TSharedRef< IPropertyHandle > &PropertyHandle)
static UDlgDialogue * GetDialogueFromPropertyHandle(const TSharedRef< IPropertyHandle > &PropertyHandle)
static EVisibility GetVoiceDialogueWaveVisibility()
static void SetNumericPropertyLimits(const TSharedPtr< IPropertyHandle > &PropertyHandle, const NumericType Min, const NumericType Max)
static UDialogueGraphNode * GetClosestGraphNodeFromPropertyHandle(const TSharedRef< IPropertyHandle > &PropertyHandle)
static UDialogueGraphNode_Edge * GetAsGraphNodeEdgeFromPropertyHandle(const TSharedRef< IPropertyHandle > &PropertyHandle)
static EVisibility GetSpeakerStateNodeVisibility()
static void ResetNumericPropertyLimits(const TSharedPtr< IPropertyHandle > &PropertyHandle)