A game about forced loneliness, made by TACStudios
1using System.Collections.Generic;
2
3namespace Unity.VisualScripting
4{
5 public class GraphDebugData : IGraphDebugData
6 {
7 protected Dictionary<IGraphElementWithDebugData, IGraphElementDebugData> elementsData { get; } = new Dictionary<IGraphElementWithDebugData, IGraphElementDebugData>();
8
9 protected Dictionary<IGraphParentElement, IGraphDebugData> childrenGraphsData { get; } = new Dictionary<IGraphParentElement, IGraphDebugData>();
10
11 IEnumerable<IGraphElementDebugData> IGraphDebugData.elementsData => elementsData.Values;
12
13 public GraphDebugData(IGraph definition) { }
14
15 public IGraphElementDebugData GetOrCreateElementData(IGraphElementWithDebugData element)
16 {
17 if (!elementsData.TryGetValue(element, out var elementDebugData))
18 {
19 elementDebugData = element.CreateDebugData();
20 elementsData.Add(element, elementDebugData);
21 }
22
23 return elementDebugData;
24 }
25
26 public IGraphDebugData GetOrCreateChildGraphData(IGraphParentElement element)
27 {
28 if (!childrenGraphsData.TryGetValue(element, out var data))
29 {
30 data = new GraphDebugData(element.childGraph);
31 childrenGraphsData.Add(element, data);
32 }
33
34 return data;
35 }
36 }
37}