コード例 #1
0
 internal static void CleanupRoots()
 {
     GUILayoutUtility.s_SpaceStyle = null;
     GUILayoutUtility.s_StoredLayouts.Clear();
     GUILayoutUtility.s_StoredWindows.Clear();
     GUILayoutUtility.current = new GUILayoutUtility.LayoutCache();
 }
コード例 #2
0
 internal static void CleanupRoots()
 {
     GUILayoutUtility.s_SpaceStyle    = null;
     GUILayoutUtility.s_StoredLayouts = null;
     GUILayoutUtility.s_StoredWindows = null;
     GUILayoutUtility.current         = null;
 }
コード例 #3
0
 internal LayoutCache(GUILayoutUtility.LayoutCache other)
 {
     this.id           = other.id;
     this.topLevel     = other.topLevel;
     this.layoutGroups = other.layoutGroups;
     this.windows      = other.windows;
 }
コード例 #4
0
        internal static void BeginWindow(int windowID, GUIStyle style, GUILayoutOption[] options)
        {
            GUILayoutUtility.LayoutCache layoutCache = GUILayoutUtility.SelectIDList(windowID, true);
            bool flag = Event.current.type == EventType.Layout;

            if (flag)
            {
                GUILayoutUtility.current.topLevel          = (layoutCache.topLevel = new GUILayoutGroup());
                GUILayoutUtility.current.topLevel.style    = style;
                GUILayoutUtility.current.topLevel.windowID = windowID;
                bool flag2 = options != null;
                if (flag2)
                {
                    GUILayoutUtility.current.topLevel.ApplyOptions(options);
                }
                GUILayoutUtility.current.layoutGroups.Clear();
                GUILayoutUtility.current.layoutGroups.Push(GUILayoutUtility.current.topLevel);
                GUILayoutUtility.current.windows = (layoutCache.windows = new GUILayoutGroup());
            }
            else
            {
                GUILayoutUtility.current.topLevel     = layoutCache.topLevel;
                GUILayoutUtility.current.layoutGroups = layoutCache.layoutGroups;
                GUILayoutUtility.current.windows      = layoutCache.windows;
            }
        }
コード例 #5
0
 internal LayoutCache(GUILayoutUtility.LayoutCache other)
 {
     this.topLevel     = new GUILayoutGroup();
     this.layoutGroups = new GenericStack();
     this.windows      = new GUILayoutGroup();
     this.topLevel     = other.topLevel;
     this.layoutGroups = other.layoutGroups;
     this.windows      = other.windows;
 }
コード例 #6
0
 internal static GUILayoutUtility.LayoutCache SelectIDList(int instanceID, bool isWindow)
 {
   Dictionary<int, GUILayoutUtility.LayoutCache> dictionary = !isWindow ? GUILayoutUtility.s_StoredLayouts : GUILayoutUtility.s_StoredWindows;
   GUILayoutUtility.LayoutCache layoutCache;
   if (!dictionary.TryGetValue(instanceID, out layoutCache))
   {
     layoutCache = new GUILayoutUtility.LayoutCache();
     dictionary[instanceID] = layoutCache;
   }
   GUILayoutUtility.current.topLevel = layoutCache.topLevel;
   GUILayoutUtility.current.layoutGroups = layoutCache.layoutGroups;
   GUILayoutUtility.current.windows = layoutCache.windows;
   return layoutCache;
 }
コード例 #7
0
        internal static GUILayoutUtility.LayoutCache SelectIDList(int instanceID, bool isWindow)
        {
            Dictionary <int, GUILayoutUtility.LayoutCache> dictionary = (!isWindow) ? GUILayoutUtility.storedLayouts : GUILayoutUtility.storedWindows;

            GUILayoutUtility.LayoutCache layoutCache;
            if (!dictionary.TryGetValue(instanceID, out layoutCache))
            {
                layoutCache            = new GUILayoutUtility.LayoutCache();
                dictionary[instanceID] = layoutCache;
            }
            GUILayoutUtility.current.topLevel     = layoutCache.topLevel;
            GUILayoutUtility.current.layoutGroups = layoutCache.layoutGroups;
            GUILayoutUtility.current.windows      = layoutCache.windows;
            return(layoutCache);
        }
コード例 #8
0
        internal static void BeginContainer(GUILayoutUtility.LayoutCache cache)
        {
            bool flag = Event.current.type == EventType.Layout;

            if (flag)
            {
                cache.topLevel = new GUILayoutGroup();
                cache.layoutGroups.Clear();
                cache.layoutGroups.Push(cache.topLevel);
                cache.windows = new GUILayoutGroup();
            }
            GUILayoutUtility.current.topLevel     = cache.topLevel;
            GUILayoutUtility.current.layoutGroups = cache.layoutGroups;
            GUILayoutUtility.current.windows      = cache.windows;
        }
コード例 #9
0
 internal static void BeginContainer(GUILayoutUtility.LayoutCache cache)
 {
     if (Event.current.type == EventType.Layout)
     {
         GUILayoutUtility.current.topLevel = (cache.topLevel = new GUILayoutGroup());
         GUILayoutUtility.current.layoutGroups.Clear();
         GUILayoutUtility.current.layoutGroups.Push(GUILayoutUtility.current.topLevel);
         GUILayoutUtility.current.windows = (cache.windows = new GUILayoutGroup());
     }
     else
     {
         GUILayoutUtility.current.topLevel     = cache.topLevel;
         GUILayoutUtility.current.layoutGroups = cache.layoutGroups;
         GUILayoutUtility.current.windows      = cache.windows;
     }
 }
コード例 #10
0
 internal static void Begin(int instanceID)
 {
     GUILayoutUtility.LayoutCache layoutCache = GUILayoutUtility.SelectIDList(instanceID, false);
     if (Event.current.type == EventType.Layout)
     {
         GUILayoutUtility.current.topLevel = (layoutCache.topLevel = new GUILayoutGroup());
         GUILayoutUtility.current.layoutGroups.Clear();
         GUILayoutUtility.current.layoutGroups.Push(GUILayoutUtility.current.topLevel);
         GUILayoutUtility.current.windows = (layoutCache.windows = new GUILayoutGroup());
     }
     else
     {
         GUILayoutUtility.current.topLevel     = layoutCache.topLevel;
         GUILayoutUtility.current.layoutGroups = layoutCache.layoutGroups;
         GUILayoutUtility.current.windows      = layoutCache.windows;
     }
 }