Пример #1
0
        public static string GetSourceTabName(eTAB_SOURCE_TYPE tabType)
        {
            switch (tabType)
            {
            case eTAB_SOURCE_TYPE.VeinMeiners: return("Vein Miners");

            case eTAB_SOURCE_TYPE.LogisticStations: return("Logistic Stations");

            default: return("Undefined");
            }
        }
Пример #2
0
        public void WindowFunc(int id)
        {
            GUILayout.BeginArea(new Rect(winRect.width - 22f, 2f, 20f, 17f));
            if (GUILayout.Button("X"))
            {
                Show = false;
            }
            GUILayout.EndArea();

            GUILayout.BeginArea(new Rect(winRect.width - 45f, 2f, 20f, 17f));
            if (GUILayout.Button("+"))
            {
                FixedSizeAdjust = Mathf.Min(FixedSizeAdjustOriginal + 0.8f, FixedSizeAdjust + 0.1f);
            }
            GUILayout.EndArea();

            GUILayout.BeginArea(new Rect(winRect.width - 64f, 2f, 20f, 17f));
            if (GUILayout.Button("1"))
            {
                FixedSizeAdjust = FixedSizeAdjustOriginal;
            }
            GUILayout.EndArea();

            GUILayout.BeginArea(new Rect(winRect.width - 83f, 2f, 20f, 17f));
            if (GUILayout.Button("-"))
            {
                FixedSizeAdjust = Mathf.Max(FixedSizeAdjustOriginal - 0.5f, FixedSizeAdjust - 0.1f);
            }
            GUILayout.EndArea();

            GUILayout.BeginVertical();
            // Draw Top Menu
            GUILayout.BeginHorizontal(UnityEngine.GUI.skin.box);
            GUILayout.Label($"<b>Sources: </b>", UITheme.TextAlignStyle, GUILayout.Width(100));
            foreach (eTAB_SOURCE_TYPE tabType in DSPStatSources.Keys)
            {
                if (GUILayout.Button(UIHelper.GetSourceTabName(tabType), selectedTabSourceType == tabType ? UITheme.TabMenuButtonSelectedStyle : UITheme.TabMenuButtonStyle))
                {
                    selectedTabSourceType = tabType;
                    selectedTab           = DSPStatSources[selectedTabSourceType].TABPages.First();
                }
            }
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal(UnityEngine.GUI.skin.box);
            GUILayout.Label($"<b>Grouped On: </b>", UITheme.TextAlignStyle, GUILayout.Width(100));
            foreach (eTAB_TYPES tabType in DSPStatSources[selectedTabSourceType].TABPages) //Enum.GetValues(typeof(eTAB_TYPES)))
            {
                if (GUILayout.Button(UIHelper.GetTabName(tabType), selectedTab == tabType ? UITheme.TabMenuButtonSelectedStyle : UITheme.TabMenuButtonStyle))
                {
                    selectedTab = tabType;
                }
            }
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal(UnityEngine.GUI.skin.box);
            DSPStatSources[selectedTabSourceType].DrawFilterGUI(selectedTab);
            GUILayout.FlexibleSpace();

            GUILayout.BeginVertical();
            bool shouldUpdate       = false;
            var  oldAutoUpdateState = DSPStatSources[selectedTabSourceType].ShouldAutoUpdate;

            DSPStatSources[selectedTabSourceType].ShouldAutoUpdate = GUILayout.Toggle(DSPStatSources[selectedTabSourceType].ShouldAutoUpdate, $"AutoRefresh");
            if (oldAutoUpdateState != DSPStatSources[selectedTabSourceType].ShouldAutoUpdate)
            {
                shouldUpdate = true;
            }
            for (int i = 1; i <= 3; i++)
            {
                var oldCollapsedLevelState = DSPStatSources[selectedTabSourceType].DefaultCollapsedStateLevel[i];
                DSPStatSources[selectedTabSourceType].DefaultCollapsedStateLevel[i] = GUILayout.Toggle(DSPStatSources[selectedTabSourceType].DefaultCollapsedStateLevel[i], $"AutoCollapsed L" + i);
                if (oldCollapsedLevelState != DSPStatSources[selectedTabSourceType].DefaultCollapsedStateLevel[i])
                {
                    shouldUpdate = true;
                }
            }
            if (shouldUpdate)
            {
                DSPStatSources[selectedTabSourceType].CollapsedState.Clear();
            }
            GUILayout.EndVertical();

            GUILayout.EndHorizontal();

            sv = GUILayout.BeginScrollView(sv, UnityEngine.GUI.skin.box);

            DSPStatSources[selectedTabSourceType].DrawTabGUI(selectedTab);

            GUILayout.EndScrollView();
            GUILayout.EndVertical();
            UnityEngine.GUI.DragWindow();

            // Always close window on Escape for now
            if (Event.current.isKey && Event.current.keyCode == KeyCode.Escape)
            {
                Show = false;
            }
        }