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"); } }
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; } }