A Demo Project for the UnrealEngineSDK
Loading...
Searching...
No Matches
DialogueBrowserTreeVariableProperties.cpp
Go to the documentation of this file.
1// Copyright Csaba Molnar, Daniel Butum. All Rights Reserved.
3
4
6// FDialogueTreeVariableProperties
7FDialogueBrowserTreeVariableProperties::FDialogueBrowserTreeVariableProperties(const TSet<TWeakObjectPtr<const UDlgDialogue>>& InDialogues)
8 : Super(InDialogues)
9{
10 // Empty initialize the graph nodes
11 for (TWeakObjectPtr<const UDlgDialogue> Dialogue: InDialogues)
12 {
13 GraphNodes.Add(Dialogue->GetGUID(), {});
14 }
15
16 // Empty initialize the edge nodes
17 for (TWeakObjectPtr<const UDlgDialogue> Dialogue : InDialogues)
18 {
19 EdgeNodes.Add(Dialogue->GetGUID(), {});
20 }
21}
22
23void FDialogueBrowserTreeVariableProperties::AddDialogue(TWeakObjectPtr<const UDlgDialogue> Dialogue)
24{
26
27 // Initialize the graph nodes
28 {
29 const FGuid Id = Dialogue->GetGUID();
30 auto* SetPtr = GraphNodes.Find(Id);
31 if (SetPtr == nullptr)
32 {
33 // Does not exist, empty initialize.
34 GraphNodes.Add(Id, {});
35 }
36 }
37
38 // Initialize the edge nodes
39 {
40
41 const FGuid ID = Dialogue->GetGUID();
42 auto* SetPtr = EdgeNodes.Find(ID);
43 if (SetPtr == nullptr)
44 {
45 // Does not exist, empty initialize.
46 EdgeNodes.Add(ID, {});
47 }
48 }
49}
void AddDialogue(TWeakObjectPtr< const UDlgDialogue > Dialogue) override
TMap< FGuid, TSet< TWeakObjectPtr< const UDialogueGraphNode_Edge > > > EdgeNodes
FDialogueBrowserTreeVariableProperties(const TSet< TWeakObjectPtr< const UDlgDialogue > > &InDialogues)
TMap< FGuid, TSet< TWeakObjectPtr< const UDialogueGraphNode > > > GraphNodes
virtual void AddDialogue(TWeakObjectPtr< const UDlgDialogue > Dialogue)