A Demo Project for the UnrealEngineSDK
Loading...
Searching...
No Matches
DialogueSpeechSequenceEntry_Details.h
Go to the documentation of this file.
1// Copyright Csaba Molnar, Daniel Butum. All Rights Reserved.
2#pragma once
3
4#include "IPropertyTypeCustomization.h"
5#include "Layout/Visibility.h"
6#include "IDetailPropertyRow.h"
7
8#include "DlgManager.h"
10
13
19{
21
22public:
23 static TSharedRef<IPropertyTypeCustomization> MakeInstance() { return MakeShared<Self>(); }
24
34 void CustomizeHeader(TSharedRef<IPropertyHandle> StructPropertyHandle,
35 FDetailWidgetRow& HeaderRow,
36 IPropertyTypeCustomizationUtils& StructCustomizationUtils) override;
37
45 void CustomizeChildren(TSharedRef<IPropertyHandle> StructPropertyHandle,
46 IDetailChildrenBuilder& StructBuilder,
47 IPropertyTypeCustomizationUtils& StructCustomizationUtils) override;
48
49private:
51 TArray<FName> GetAllDialoguesParticipantNames() const
52 {
53 TArray<FName> OutArray;
55 return OutArray;
56 }
57
59 TArray<FName> GetAllDialoguesSpeakerStates() const
60 {
61 TArray<FName> OutArray;
63 return OutArray;
64 }
65
71
73 void HandleTextCommitted(const FText& InSearchText, ETextCommit::Type CommitInfo) const
74 {
75 if (Dialogue)
76 {
78 }
79 }
80
81private:
83 TSharedPtr<IPropertyHandle> StructPropertyHandle;
84
85 // Cache the rows of the properties, created in CustomizeChildren
86 TSharedPtr<IPropertyHandle> TextPropertyHandle;
87 TSharedPtr<IPropertyHandle> EdgeTextPropertyHandle;
88
89 TSharedPtr<FDialogueTextPropertyPickList_CustomRowHelper> ParticipantNamePropertyRow;
90 TSharedPtr<FDialogueTextPropertyPickList_CustomRowHelper> SpeakerStatePropertyRow;
91 IDetailPropertyRow* VoiceSoundWavePropertyRow = nullptr;
92 IDetailPropertyRow* VoiceDialogueWavePropertyRow = nullptr;
93 IDetailPropertyRow* GenericDataPropertyRow = nullptr;
94 IDetailPropertyRow* NodeDataPropertyRow = nullptr;
95 TSharedPtr<FDialogueMultiLineEditableTextBox_CustomRowHelper> TextPropertyRow;
96 TSharedPtr<FDialogueMultiLineEditableTextBox_CustomRowHelper> EdgeTextPropertyRow;
97
100};
IDetailPropertyRow * NodeDataPropertyRow
TSharedPtr< IPropertyHandle > EdgeTextPropertyHandle
IDetailPropertyRow * VoiceDialogueWavePropertyRow
TSharedPtr< IPropertyHandle > StructPropertyHandle
IDetailPropertyRow * VoiceSoundWavePropertyRow
IDetailPropertyRow * GenericDataPropertyRow
TArray< FName > GetAllDialoguesSpeakerStates() const
FDialogueSpeechSequenceEntry_Details Self
TSharedPtr< FDialogueTextPropertyPickList_CustomRowHelper > SpeakerStatePropertyRow
static TSharedRef< IPropertyTypeCustomization > MakeInstance()
TSharedPtr< FDialogueTextPropertyPickList_CustomRowHelper > ParticipantNamePropertyRow
TArray< FName > GetAllDialoguesParticipantNames() const
TSharedPtr< IPropertyHandle > TextPropertyHandle
TSharedPtr< FDialogueMultiLineEditableTextBox_CustomRowHelper > TextPropertyRow
void CustomizeHeader(TSharedRef< IPropertyHandle > StructPropertyHandle, FDetailWidgetRow &HeaderRow, IPropertyTypeCustomizationUtils &StructCustomizationUtils) override
UDlgDialogue * Dialogue
void HandleTextCommitted(const FText &InSearchText, ETextCommit::Type CommitInfo) const
void CustomizeChildren(TSharedRef< IPropertyHandle > StructPropertyHandle, IDetailChildrenBuilder &StructBuilder, IPropertyTypeCustomizationUtils &StructCustomizationUtils) override
TArray< FName > GetCurrentDialogueParticipantNames() const
TSharedPtr< FDialogueMultiLineEditableTextBox_CustomRowHelper > EdgeTextPropertyRow
UCLASS(BlueprintType, Meta = (DisplayThumbnail = "true"))
Definition DlgDialogue.h:85
void UpdateAndRefreshData(bool bUpdateTextsNamespacesAndKeys=false)
static void GetAllDialoguesSpeakerStates(TArray< FName > &OutArray)
UFUNCTION(BlueprintPure, Category = "Dialogue|Data")
static void GetAllDialoguesParticipantNames(TArray< FName > &OutArray)
UFUNCTION(BlueprintPure, Category = "Dialogue|Data")
static TArray< FName > GetDialogueSortedParticipantNames(UDlgDialogue *Dialogue)