Beispiel #1
0
        // Token: 0x06000218 RID: 536 RVA: 0x00014AD8 File Offset: 0x00012CD8
        public static void ScrollView(Rect area, string title, ref SerializableVector2 scrollpos, Action code, int padding = 20)
        {
            Drawing.DrawRect(area, MenuComponent._OutlineBorderBlack);
            Drawing.DrawRect(MenuUtilities.Inline(area, 1f), MenuComponent._OutlineBorderLightGray);
            Rect rect = MenuUtilities.Inline(area, 2f);

            Drawing.DrawRect(rect, MenuComponent._FillLightBlack);
            Color textColor = Prefab._MenuTabStyle.normal.textColor;
            int   fontSize  = Prefab._MenuTabStyle.fontSize;

            Prefab._MenuTabStyle.normal.textColor = Prefab._MenuTabStyle.onNormal.textColor;
            Prefab._MenuTabStyle.fontSize         = 15;
            Drawing.DrawRect(new Rect(rect.x, rect.y, rect.width, Prefab._MenuTabStyle.CalcSize(new GUIContent(title)).y + 2f), MenuComponent._OutlineBorderLightGray);
            GUILayout.BeginArea(rect);
            GUILayout.BeginHorizontal(Array.Empty <GUILayoutOption>());
            GUILayout.FlexibleSpace();
            GUILayout.Label(title, Prefab._MenuTabStyle, Array.Empty <GUILayoutOption>());
            Prefab._MenuTabStyle.normal.textColor = textColor;
            Prefab._MenuTabStyle.fontSize         = fontSize;
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();
            GUILayout.Space(2f);
            GUILayout.BeginHorizontal(Array.Empty <GUILayoutOption>());
            scrollpos = GUILayout.BeginScrollView(scrollpos.ToVector2(), false, true, Array.Empty <GUILayoutOption>());
            GUILayout.BeginHorizontal(Array.Empty <GUILayoutOption>());
            GUILayout.Space((float)padding);
            GUILayout.BeginVertical(new GUILayoutOption[]
            {
                GUILayout.MinHeight(rect.height)
            });
            try
            {
                code();
            }
            catch (Exception exception)
            {
                Debug.LogException(exception);
            }
            GUILayout.EndVertical();
            Rect lastRect = GUILayoutUtility.GetLastRect();

            GUILayout.EndHorizontal();
            GUILayout.EndScrollView();
            Rect lastRect2 = GUILayoutUtility.GetLastRect();

            GUILayout.Space(1f);
            GUILayout.EndHorizontal();
            GUILayout.Space(1f);
            Drawing.DrawRect(new Rect(lastRect2.x + lastRect2.width - 16f, lastRect2.y, 16f, lastRect2.height), MenuComponent._FillLightBlack);
            if (lastRect.height - lastRect2.height > 0f)
            {
                Prefab.VerticalSlider(new Rect(lastRect2.x + 4f, lastRect2.y + 8f, 12f, lastRect2.height - 14f), 0f, lastRect.height - lastRect2.height, ref scrollpos.y);
            }
            GUILayout.EndArea();
        }