using System; using System.Collections.Generic; using UnityEngine.UI.Collections; namespace UnityEngine.UI { // Token: 0x0200004C RID: 76 public class GraphicRegistry { // Token: 0x0600026C RID: 620 RVA: 0x0000C740 File Offset: 0x0000AB40 protected GraphicRegistry() { } // Token: 0x170000A1 RID: 161 // (get) Token: 0x0600026D RID: 621 RVA: 0x0000C760 File Offset: 0x0000AB60 public static GraphicRegistry instance { get { if (GraphicRegistry.s_Instance == null) { GraphicRegistry.s_Instance = new GraphicRegistry(); } return GraphicRegistry.s_Instance; } } // Token: 0x0600026E RID: 622 RVA: 0x0000C790 File Offset: 0x0000AB90 public static void RegisterGraphicForCanvas(Canvas c, Graphic graphic) { if (!(c == null)) { IndexedSet indexedSet; GraphicRegistry.instance.m_Graphics.TryGetValue(c, out indexedSet); if (indexedSet != null) { indexedSet.AddUnique(graphic); } else { indexedSet = new IndexedSet(); indexedSet.Add(graphic); GraphicRegistry.instance.m_Graphics.Add(c, indexedSet); } } } // Token: 0x0600026F RID: 623 RVA: 0x0000C7F4 File Offset: 0x0000ABF4 public static void UnregisterGraphicForCanvas(Canvas c, Graphic graphic) { if (!(c == null)) { IndexedSet indexedSet; if (GraphicRegistry.instance.m_Graphics.TryGetValue(c, out indexedSet)) { indexedSet.Remove(graphic); if (indexedSet.Count == 0) { GraphicRegistry.instance.m_Graphics.Remove(c); } } } } // Token: 0x06000270 RID: 624 RVA: 0x0000C850 File Offset: 0x0000AC50 public static IList GetGraphicsForCanvas(Canvas canvas) { IndexedSet indexedSet; IList list; if (GraphicRegistry.instance.m_Graphics.TryGetValue(canvas, out indexedSet)) { list = indexedSet; } else { list = GraphicRegistry.s_EmptyList; } return list; } // Token: 0x04000125 RID: 293 private static GraphicRegistry s_Instance; // Token: 0x04000126 RID: 294 private readonly Dictionary> m_Graphics = new Dictionary>(); // Token: 0x04000127 RID: 295 private static readonly List s_EmptyList = new List(); } }