6#define LOCTEXT_NAMESPACE "DialogueGraphNode_Edge"
12 Super::PostEditChangeProperty(PropertyChangedEvent);
29 check(ParentNodeDialogueEdge);
42 bool bWasModified = Super::Modify(bAlwaysMarkDirty);
58 Super::AllocateDefaultPins();
65 return LOCTEXT(
"GetNodeTitle",
"Edge Node Type");
70 return FText::Format(LOCTEXT(
"EdegeXToY",
"Edge from node {0} to {1}\nText = {2}"),
77 if (Pin->LinkedTo.Num() == 0)
80 if (Pin->Direction == EGPD_Output)
86 if (InputPin && InputPin->LinkedTo.Num() > 0)
89 const TArray<UDialogueGraphNode_Edge*> ParentChildEdgeNodes = ParentNode->
GetChildEdgeNodes();
90 const int32 ParentThisEdgeIndex = ParentChildEdgeNodes.Find(
this);
91 check(ParentThisEdgeIndex != INDEX_NONE);
110 const TArray<UDialogueGraphNode_Edge*> ParentChildEdgeNodes = ParentNode->
GetChildEdgeNodes();
111 const int32 ParentThisEdgeIndex = ParentChildEdgeNodes.Find(
this);
112 check(ParentThisEdgeIndex != INDEX_NONE);
124 Super::PostPasteNode();
127 for (UEdGraphPin* Pin : Pins)
129 if (Pin->LinkedTo.Num() == 0)
143 check(ParentNode != ChildNode);
148 ThisInputPin->Modify();
149 ThisInputPin->LinkedTo.Empty();
150 ThisOutputPin->Modify();
151 ThisOutputPin->LinkedTo.Empty();
157 ThisOutputPin->MakeLinkTo(ChildNode->
GetInputPin());
159 check(ThisInputPin->LinkedTo.Num() == 1);
160 check(ThisOutputPin->LinkedTo.Num() == 1);
164 if (ParentNodeDialogueEdge !=
nullptr)
211#undef LOCTEXT_NAMESPACE
UEdGraphPin * GetOutputPin() const
UEdGraphPin * GetInputPin() const
bool Modify(bool bAlwaysMarkDirty=true) override
UDialogueGraphNode * GetChildNode() const
bool HasChildNode() const
void PinConnectionListChanged(UEdGraphPin *Pin) override
bool bIsPrimaryEdge
UPROPERTY()
UDialogueGraphNode * GetParentNode() const
FDlgEdge DialogueEdge
UPROPERTY(EditAnywhere, Category = DialogueGraphNode, Meta = (ShowOnlyInnerProperties))
void CreateConnections(UDialogueGraphNode *ParentNode, UDialogueGraphNode *ChildNode)
FText GetNodeTitle(ENodeTitleType::Type TitleType) const override
void PostEditChangeProperty(FPropertyChangedEvent &PropertyChangedEvent) override
bool HasConditions() const
bool HasParentNode() const
FLinearColor GetEdgeColor(bool bIsHovered) const
void PostPasteNode() override
FText GetTooltipText() const override
FDlgEdge * GetMutableDialogueEdgeFromParentNode() const
void AllocateDefaultPins() override
virtual int32 GetDialogueNodeIndex() const
DlgNodeType * GetMutableDialogueNode()
TArray< UDialogueGraphNode_Edge * > GetChildEdgeNodes(bool bCheckParent=true) const
bool Modify(bool bAlwaysMarkDirty=true) override
UCLASS(BlueprintType, Abstract, EditInlineNew, ClassGroup = "Dialogue")
virtual FDlgEdge * GetSafeMutableNodeChildAt(int32 EdgeIndex)
virtual const TArray< FDlgEdge > & GetNodeChildren() const
Gets this nodes children (edges) as a const/mutable array.
UCLASS(Config = Engine, DefaultConfig, meta = (DisplayName = "Dialogue System Settings"))
FLinearColor WireHoveredColor
UPROPERTY(Category = "Graph Edge Color", Config, EditAnywhere)
FLinearColor WireSecondaryEdgeColor
UPROPERTY(Category = "Graph Edge Color", Config, EditAnywhere)
bool bShowDifferentColorForConditionWires
UPROPERTY(Category = "Graph Edge Color", Config, EditAnywhere)
bool bShowPrimarySecondaryEdges
UPROPERTY(Category = "Graph Edge", Config, EditAnywhere)
FLinearColor WireBaseColor
UPROPERTY(Category = "Graph Edge Color", Config, EditAnywhere)
FLinearColor WirePrimaryEdgeColor
UPROPERTY(Category = "Graph Edge Color", Config, EditAnywhere)
FLinearColor WireWithConditionsColor
UPROPERTY(Category = "Graph Edge Color", Config, EditAnywhere)
int32 TargetIndex
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Dialogue|Edge", Meta = (ClampMin = -1))
const FText & GetUnformattedText() const