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}