CreateGUILayoutGroupInstanceOfType() private method

private CreateGUILayoutGroupInstanceOfType ( System LayoutType ) : GUILayoutGroup
LayoutType System
return GUILayoutGroup
コード例 #1
0
        internal static GUILayoutGroup BeginLayoutArea(GUIStyle style, System.Type layoutType)
        {
            GUILayoutGroup guiLayoutGroup;

            switch (Event.current.type)
            {
            case EventType.Layout:
            case EventType.Used:
                guiLayoutGroup       = GUILayoutUtility.CreateGUILayoutGroupInstanceOfType(layoutType);
                guiLayoutGroup.style = style;
                GUILayoutUtility.current.windows.Add((GUILayoutEntry)guiLayoutGroup);
                break;

            default:
                guiLayoutGroup = GUILayoutUtility.current.windows.GetNext() as GUILayoutGroup;
                if (guiLayoutGroup == null)
                {
                    throw new ArgumentException("GUILayout: Mismatched LayoutGroup." + (object)Event.current.type);
                }
                guiLayoutGroup.ResetCursor();
                break;
            }
            GUILayoutUtility.current.layoutGroups.Push((object)guiLayoutGroup);
            GUILayoutUtility.current.topLevel = guiLayoutGroup;
            return(guiLayoutGroup);
        }
コード例 #2
0
        internal static GUILayoutGroup BeginLayoutGroup(GUIStyle style, GUILayoutOption[] options, Type layoutType)
        {
            EventType      type = Event.current.type;
            GUILayoutGroup gUILayoutGroup;

            if (type != EventType.Used && type != EventType.Layout)
            {
                gUILayoutGroup = (GUILayoutUtility.current.topLevel.GetNext() as GUILayoutGroup);
                if (gUILayoutGroup == null)
                {
                    throw new ArgumentException("GUILayout: Mismatched LayoutGroup." + Event.current.type);
                }
                gUILayoutGroup.ResetCursor();
                GUIDebugger.LogLayoutGroupEntry(gUILayoutGroup.rect, gUILayoutGroup.margin, gUILayoutGroup.style, gUILayoutGroup.isVertical);
            }
            else
            {
                gUILayoutGroup       = GUILayoutUtility.CreateGUILayoutGroupInstanceOfType(layoutType);
                gUILayoutGroup.style = style;
                if (options != null)
                {
                    gUILayoutGroup.ApplyOptions(options);
                }
                GUILayoutUtility.current.topLevel.Add(gUILayoutGroup);
            }
            GUILayoutUtility.current.layoutGroups.Push(gUILayoutGroup);
            GUILayoutUtility.current.topLevel = gUILayoutGroup;
            return(gUILayoutGroup);
        }
コード例 #3
0
        internal static GUILayoutGroup BeginLayoutArea(GUIStyle style, Type layoutType)
        {
            EventType      type      = Event.current.type;
            EventType      eventType = type;
            GUILayoutGroup gUILayoutGroup;

            if (eventType != EventType.Layout && eventType != EventType.Used)
            {
                gUILayoutGroup = (GUILayoutUtility.current.windows.GetNext() as GUILayoutGroup);
                bool flag = gUILayoutGroup == null;
                if (flag)
                {
                    throw new ExitGUIException("GUILayout: Mismatched LayoutGroup." + Event.current.type.ToString());
                }
                gUILayoutGroup.ResetCursor();
                GUIDebugger.LogLayoutGroupEntry(gUILayoutGroup.rect, gUILayoutGroup.marginLeft, gUILayoutGroup.marginRight, gUILayoutGroup.marginTop, gUILayoutGroup.marginBottom, gUILayoutGroup.style, gUILayoutGroup.isVertical);
            }
            else
            {
                gUILayoutGroup       = GUILayoutUtility.CreateGUILayoutGroupInstanceOfType(layoutType);
                gUILayoutGroup.style = style;
                GUILayoutUtility.current.windows.Add(gUILayoutGroup);
            }
            GUILayoutUtility.current.layoutGroups.Push(gUILayoutGroup);
            GUILayoutUtility.current.topLevel = gUILayoutGroup;
            return(gUILayoutGroup);
        }
コード例 #4
0
        internal static GUILayoutGroup BeginLayoutArea(GUIStyle style, Type LayoutType)
        {
            EventType      type = Event.current.type;
            GUILayoutGroup gUILayoutGroup;

            if (type != EventType.Layout && type != EventType.Used)
            {
                gUILayoutGroup = (GUILayoutUtility.current.windows.GetNext() as GUILayoutGroup);
                if (gUILayoutGroup == null)
                {
                    throw new ArgumentException("GUILayout: Mismatched LayoutGroup." + Event.current.type);
                }
                gUILayoutGroup.ResetCursor();
            }
            else
            {
                gUILayoutGroup       = GUILayoutUtility.CreateGUILayoutGroupInstanceOfType(LayoutType);
                gUILayoutGroup.style = style;
                GUILayoutUtility.current.windows.Add(gUILayoutGroup);
            }
            GUILayoutUtility.current.layoutGroups.Push(gUILayoutGroup);
            GUILayoutUtility.current.topLevel = gUILayoutGroup;
            return(gUILayoutGroup);
        }