4#include "CoreMinimal.h"
5#include "Widgets/Views/STreeView.h"
128 void AddChild(
const TSharedPtr<Self>& ChildNode)
override
141 ensure(!ChildNode->IsRoot());
143 ChildNode->SetParent(this->AsShared());
153 Child->SetParent(this->AsShared());
238 if (Child->IsSeparator())
240 Child->SetIsVisible(
false);
249 check(!CurrentParentNode->IsSeparator());
289 bool IsText()
const override {
return false; }
304 const FText& InDisplayText,
305 const TSharedPtr<FDialogueBrowserTreeNode>& InParent,
309 bool IsText()
const override {
return false; }
321 const FText& InDisplayText,
322 const TSharedPtr<FDialogueBrowserTreeNode>& InParent,
323 FName InParticipantName
343 const FText& InDisplayText,
344 const TSharedPtr<FDialogueBrowserTreeNode>& InParent,
364 const FText& InDisplayText,
365 const TSharedPtr<FDialogueBrowserTreeNode>& InParent,
375 TWeakObjectPtr<UClass>
Class =
nullptr;
385 const FText& InDisplayText,
386 const TSharedPtr<FDialogueBrowserTreeNode>& InParent,
387 FName InParticipantName
390 bool IsText()
const override {
return false; }
402 const FText& InDisplayText,
403 const TSharedPtr<FDialogueBrowserTreeNode>& InParent,
404 const TWeakObjectPtr<const UDlgDialogue>& InObject
413 if (
const Self* OtherSelf =
static_cast<const Self*
>(&
Other))
433 const FText& InDisplayText,
434 const TSharedPtr<FDialogueBrowserTreeNode>& InParent,
435 const TWeakObjectPtr<const UDialogueGraphNode>& InObject
444 if (
const Self* OtherSelf =
static_cast<const Self*
>(&
Other))
464 const FText& InDisplayText,
465 const TSharedPtr<FDialogueBrowserTreeNode>& InParent,
466 const TWeakObjectPtr<const UDialogueGraphNode_Edge>& InObject
475 if (
const Self* OtherSelf =
static_cast<const Self*
>(&
Other))
484 TWeakObjectPtr<const UDialogueGraphNode_Edge>
EdgeNode;
EDialogueTreeNodeTextType
@ FNameClassVariableDialogue
@ ParticipantClassVariableInt
@ ParticipantClassVariableBool
@ ParticipantClassVariableFText
@ ParticipantClassVariableFloat
@ IntClassVariableDialogue
@ ParticipantClassVariableFName
@ FloatClassVariableDialogue
@ ParticipantVariableBool
@ FTextClassVariableDialogue
@ ParticipantVariableFloat
@ ParticipantVariableFName
@ BoolClassVariableDialogue
EDialogueTreeNodeCategoryType
FDialogueBrowserTreeNode Super
bool IsCategory() const override
FDialogueBrowserTreeCategoryNode(const FText &InDisplayText, const TSharedPtr< FDialogueBrowserTreeNode > &InParent, EDialogueTreeNodeCategoryType InCategoryType)
bool IsText() const override
bool IsText() const override
FDialogueBrowserTreeCategoryParticipantNode(const FText &InDisplayText, const TSharedPtr< FDialogueBrowserTreeNode > &InParent, FName InParticipantName)
bool IsCategory() const override
FDialogueBrowserTreeParticipantNode Super
TWeakObjectPtr< UClass > Class
FDialogueBrowserTreeNode Super
UClass * GetClass() const
UClass * GetParentClass() const
FDialogueBrowserTreeCustomObjectNode(const FText &InDisplayText, const TSharedPtr< FDialogueBrowserTreeNode > &InParent, UClass *ObjectClass)
FDialogueBrowserTreeCustomObjectNode Self
FReply OnClick() override
bool IsEqual(const Super &Other) override
FDialogueBrowserTreeDialogueNode Self
FDialogueBrowserTreeDialogueNode(const FText &InDisplayText, const TSharedPtr< FDialogueBrowserTreeNode > &InParent, const TWeakObjectPtr< const UDlgDialogue > &InObject)
const TWeakObjectPtr< const UDlgDialogue > & GetDialogue() const
FDialogueBrowserTreeNode Super
TWeakObjectPtr< const UDlgDialogue > Dialogue
bool IsEqual(const Super &Other) override
TWeakObjectPtr< const UDialogueGraphNode_Edge > EdgeNode
FDialogueBrowserTreeEdgeNode Self
const TWeakObjectPtr< const UDialogueGraphNode_Edge > & GetEdgeNode() const
FDialogueBrowserTreeNode Super
FDialogueBrowserTreeEdgeNode(const FText &InDisplayText, const TSharedPtr< FDialogueBrowserTreeNode > &InParent, const TWeakObjectPtr< const UDialogueGraphNode_Edge > &InObject)
FReply OnClick() override
FDialogueBrowserTreeGraphNode(const FText &InDisplayText, const TSharedPtr< FDialogueBrowserTreeNode > &InParent, const TWeakObjectPtr< const UDialogueGraphNode > &InObject)
FReply OnClick() override
bool IsEqual(const Super &Other) override
FDialogueBrowserTreeGraphNode Self
const TWeakObjectPtr< const UDialogueGraphNode > & GetGraphNode() const
FDialogueBrowserTreeNode Super
TWeakObjectPtr< const UDialogueGraphNode > GraphNode
void AddChild(const TSharedPtr< Self > &ChildNode) override
bool IsGraphNodeText() const
virtual UClass * GetParentClass() const
bool FilterDoesChildContainText(const TSharedPtr< Self > &Child, const FString &InSearch) override
void SetInlineChildren(const TArray< TSharedPtr< Self > > &InChildren)
bool IsConditionText() const
TArray< TSharedPtr< Self > > InlineChildren
bool FilterIsChildVisible(const TSharedPtr< Self > &GrandChild) override
void ClearChildren() override
EDialogueTreeNodeTextType TextType
virtual bool IsEqual(const Self &Other)
void PostFilterPathsToNodes(const TSharedPtr< Self > &Child) override
virtual bool IsSeparator() const
virtual FName GetParentParticipantName() const
bool operator==(const Self &Other)
bool IsDialogueText() const
bool IsCustomEventText() const
EDialogueTreeNodeCategoryType CategoryType
void AddInlineChild(const TSharedPtr< Self > &ChildNode, bool bIsInline=false)
FDialogueBrowserTreeNode Self
void SetTextType(EDialogueTreeNodeTextType InTextType)
EDialogueTreeNodeTextType GetTextType() const
FDialogueBrowserTreeNode(const FText &InDisplayText, const TSharedPtr< Self > &InParent)
virtual FName GetParentVariableName() const
virtual bool IsText() const
void PostBuildPathToTopMostParent(const TSharedPtr< Self > &CurrentParentNode) override
EDialogueTreeNodeCategoryType GetCategoryType() const
const TArray< TSharedPtr< Self > > & GetInlineChildren() const
bool HasInlineChildren() const
virtual bool IsCategory() const
FDialogueBrowserTreeNode Super
FName GetParentParticipantName() const override
FDialogueBrowserTreeParticipantNode Self
FDialogueBrowserTreeParticipantNode(const FText &InDisplayText, const TSharedPtr< FDialogueBrowserTreeNode > &InParent, FName InParticipantName)
FDialogueBrowserTreeNode Super
FDialogueBrowserTreeRootNode()
bool IsSeparator() const override
FDialogueBrowserTreeSeparatorNode(const TSharedPtr< FDialogueBrowserTreeNode > &InParent=nullptr)
bool IsText() const override
FDialogueBrowserTreeNode Super
bool IsCategory() const override
FDialogueBrowserTreeVariableNode Self
FDialogueBrowserTreeVariableNode(const FText &InDisplayText, const TSharedPtr< FDialogueBrowserTreeNode > &InParent, FName InVariableName)
FDialogueBrowserTreeNode Super
FName GetParentVariableName() const override
virtual void PostBuildPathToTopMostParent(const TSharedPtr< SelfType > &CurrentParentNode)
virtual bool FilterDoesChildContainText(const TSharedPtr< SelfType > &Child, const FString &InSearch)
virtual void PostFilterPathsToNodes(const TSharedPtr< SelfType > &Child)
virtual void AddChild(const TSharedPtr< SelfType > &ChildNode)
virtual bool FilterIsChildVisible(const TSharedPtr< SelfType > &GrandChild)
virtual void ClearChildren()
UCLASS(BlueprintType, Meta = (DisplayThumbnail = "true"))