public override void DoWindowContents(Rect canvas) { Rect buttonRect = new Rect(0f, 0f, 200f, 30f); if (Widgets.TextButton(buttonRect, CurrentTab.Label)) { List<FloatMenuOption> list = new List<FloatMenuOption>(); for (int i = 0; i < Manager.ManagerTabs.Length; i++) { ManagerTab current = Manager.ManagerTabs[i]; list.Add(new FloatMenuOption(current.Label, delegate { CurrentTab = current; })); } Find.WindowStack.Add(new FloatMenu(list)); } // Title Text.Font = GameFont.Medium; Text.Anchor = TextAnchor.MiddleCenter; Widgets.Label(new Rect(0f, 0f, canvas.width, 55f), "FM.Manager".Translate() + " - " + CurrentTab.Label); Text.Anchor = TextAnchor.UpperLeft; Text.Font = GameFont.Small; // delegate actual content to the specific manager. Rect contentCanvas = new Rect(0f, 55f, canvas.width, canvas.height - 55f); GUI.BeginGroup(contentCanvas); CurrentTab.DoWindowContents(contentCanvas); GUI.EndGroup(); }
public MainTabWindowManager() { if (CurrentTab == null) CurrentTab = DefaultTab; }