22 TArray<TWeakObjectPtr<UObject>> ObjectsBeingCustomized;
23 DetailBuilder.GetObjectsBeingCustomized(ObjectsBeingCustomized);
26 if (ObjectsBeingCustomized.Num() != 1)
31 TWeakObjectPtr<UDialogueGraphNode> WeakGraphNode = Cast<UDialogueGraphNode>(ObjectsBeingCustomized[0].Get());
32 if (!WeakGraphNode.IsValid())
57 IDetailCategoryBuilder& BaseDataCategory =
DetailLayoutBuilder->EditCategory(TEXT(
"Base Node"), FText::GetEmpty(), ECategoryPriority::Important);
58 BaseDataCategory.InitiallyCollapsed(
false);
59 const TSharedPtr<IPropertyHandle> PropertyDialogueNode =
69 const TSharedPtr<IPropertyHandle> ParticipantNamePropertyHandle =
71 FDetailWidgetRow* DetailWidgetRow = &BaseDataCategory.AddCustomRow(LOCTEXT(
"ParticipantNameSearcKey",
"Participant Name"));
73 ParticipantNamePropertyRow = MakeShared<FDialogueTextPropertyPickList_CustomRowHelper>(DetailWidgetRow, ParticipantNamePropertyHandle);
78 .HasContextCheckbox(
true)
79 .IsContextCheckBoxChecked(
true)
92 .ShouldAutoExpand(
true);
94 .ShouldAutoExpand(
true);
99 .ShouldAutoExpand(
true);
121 IDetailCategoryBuilder& SpeechCategory =
DetailLayoutBuilder->EditCategory(TEXT(
"Speech Node"));
122 SpeechCategory.InitiallyCollapsed(
false);
130 if (bIsVirtualParentNode)
133 .ShouldAutoExpand(
true);
139 FDetailWidgetRow* DetailWidgetRow = &SpeechCategory.AddCustomRow(LOCTEXT(
"TextSearchKey",
"Text"));
142 TextPropertyRow->SetPropertyUtils(DetailBuilder.GetPropertyUtilities());
151 .ShouldAutoExpand(
true);
157 IDetailCategoryBuilder& SpeechDataCategory =
DetailLayoutBuilder->EditCategory(TEXT(
"Speech Node Data"));
158 SpeechDataCategory.InitiallyCollapsed(
false);
162 const TSharedPtr<IPropertyHandle> SpeakerStatePropertyHandle =
165 FDetailWidgetRow* DetailWidgetRow = &SpeechDataCategory.AddCustomRow(LOCTEXT(
"SpeakerStateSearchKey",
"Speaker State"));
167 SpeakerStatePropertyRow = MakeShared<FDialogueTextPropertyPickList_CustomRowHelper>(DetailWidgetRow, SpeakerStatePropertyHandle);
172 .HasContextCheckbox(
false)
208 else if (bIsSelectorNode)
210 IDetailCategoryBuilder& SpeechDataCategory =
DetailLayoutBuilder->EditCategory(TEXT(
"Selector Node"));
211 SpeechDataCategory.InitiallyCollapsed(
false);
214 else if (bIsSpeechSequenceNode)
216 IDetailCategoryBuilder& SpeechSequenceDataCategory =
DetailLayoutBuilder->EditCategory(TEXT(
"Speech Sequence Node"));
217 SpeechSequenceDataCategory.InitiallyCollapsed(
false)
218 .RestoreExpansionState(
true);
220 .ShouldAutoExpand(
true);;