public void SelectTab(Tab tab) { if (GameMain.Config.UnsavedSettings) { var applyBox = new GUIMessageBox("Apply changes?", "Do you want to apply the settings or discard the changes?", new string[] { "Apply", "Discard" }); applyBox.Buttons[0].OnClicked += applyBox.Close; applyBox.Buttons[0].OnClicked += ApplySettings; applyBox.Buttons[0].UserData = tab; applyBox.Buttons[1].OnClicked += applyBox.Close; applyBox.Buttons[1].OnClicked += DiscardSettings; applyBox.Buttons[1].UserData = tab; return; } selectedTab = tab; switch (selectedTab) { case Tab.NewGame: campaignSetupUI.CreateDefaultSaveName(); break; case Tab.LoadGame: campaignSetupUI.UpdateLoadMenu(); break; case Tab.Settings: GameMain.Config.ResetSettingsFrame(); menuTabs[(int)Tab.Settings] = GameMain.Config.SettingsFrame; break; } }
public void SelectTab(Tab tab) { if (GameMain.Config.UnsavedSettings) { var applyBox = new GUIMessageBox( TextManager.Get("ApplySettingsLabel"), TextManager.Get("ApplySettingsQuestion"), new string[] { TextManager.Get("ApplySettingsYes"), TextManager.Get("ApplySettingsNo") }); applyBox.Buttons[0].OnClicked += applyBox.Close; applyBox.Buttons[0].OnClicked += ApplySettings; applyBox.Buttons[0].UserData = tab; applyBox.Buttons[1].OnClicked += applyBox.Close; applyBox.Buttons[1].OnClicked += DiscardSettings; applyBox.Buttons[1].UserData = tab; return; } selectedTab = tab; switch (selectedTab) { case Tab.NewGame: campaignSetupUI.CreateDefaultSaveName(); campaignSetupUI.UpdateTutorialSelection(); break; case Tab.LoadGame: campaignSetupUI.UpdateLoadMenu(); break; case Tab.Settings: GameMain.Config.ResetSettingsFrame(); menuTabs[(int)Tab.Settings] = GameMain.Config.SettingsFrame; break; } }
private bool SelectTab(GUIButton button, object obj) { if (obj is Tab) { if (GameMain.Config.UnsavedSettings) { var applyBox = new GUIMessageBox( TextManager.Get("ApplySettingsLabel"), TextManager.Get("ApplySettingsQuestion"), new string[] { TextManager.Get("ApplySettingsYes"), TextManager.Get("ApplySettingsNo") }); applyBox.Buttons[0].UserData = (Tab)obj; applyBox.Buttons[0].OnClicked = (tb, userdata) => { applyBox.Close(button, userdata); ApplySettings(button, userdata); return(true); }; applyBox.Buttons[1].UserData = (Tab)obj; applyBox.Buttons[1].OnClicked = (tb, userdata) => { applyBox.Close(button, userdata); DiscardSettings(button, userdata); return(true); }; return(false); } GameMain.Config.ResetSettingsFrame(); selectedTab = (Tab)obj; switch (selectedTab) { case Tab.NewGame: if (!GameMain.Config.CampaignDisclaimerShown) { selectedTab = 0; GameMain.Instance.ShowCampaignDisclaimer(() => { SelectTab(null, Tab.NewGame); }); return(true); } campaignSetupUI.CreateDefaultSaveName(); campaignSetupUI.RandomizeSeed(); campaignSetupUI.UpdateSubList(Submarine.SavedSubmarines); break; case Tab.LoadGame: campaignSetupUI.UpdateLoadMenu(); break; case Tab.Settings: menuTabs[(int)Tab.Settings].RectTransform.ClearChildren(); GameMain.Config.SettingsFrame.RectTransform.Parent = menuTabs[(int)Tab.Settings].RectTransform; GameMain.Config.SettingsFrame.RectTransform.RelativeSize = Vector2.One; break; case Tab.JoinServer: GameMain.ServerListScreen.Select(); break; case Tab.HostServer: break; case Tab.Tutorials: if (!GameMain.Config.CampaignDisclaimerShown) { selectedTab = 0; GameMain.Instance.ShowCampaignDisclaimer(() => { SelectTab(null, Tab.Tutorials); }); return(true); } UpdateTutorialList(); break; case Tab.CharacterEditor: Submarine.MainSub = null; GameMain.CharacterEditorScreen.Select(); break; case Tab.SubmarineEditor: GameMain.SubEditorScreen.Select(); break; case Tab.QuickStartDev: QuickStart(); break; case Tab.SteamWorkshop: if (!Steam.SteamManager.IsInitialized) { return(false); } GameMain.SteamWorkshopScreen.Select(); break; } } else { selectedTab = 0; } if (button != null) { button.Selected = true; } ResetButtonStates(button); return(true); }
private bool SelectTab(GUIButton button, object obj) { if (obj is Tab) { if (GameMain.Config.UnsavedSettings) { var applyBox = new GUIMessageBox( TextManager.Get("ApplySettingsLabel"), TextManager.Get("ApplySettingsQuestion"), new string[] { TextManager.Get("ApplySettingsYes"), TextManager.Get("ApplySettingsNo") }); applyBox.Buttons[0].UserData = (Tab)obj; applyBox.Buttons[0].OnClicked = (tb, userdata) => { applyBox.Close(button, userdata); ApplySettings(button, userdata); return(true); }; applyBox.Buttons[1].UserData = (Tab)obj; applyBox.Buttons[1].OnClicked = (tb, userdata) => { applyBox.Close(button, userdata); DiscardSettings(button, userdata); return(true); }; return(false); } selectedTab = (Tab)obj; switch (selectedTab) { case Tab.NewGame: campaignSetupUI.CreateDefaultSaveName(); campaignSetupUI.UpdateTutorialSelection(); break; case Tab.LoadGame: campaignSetupUI.UpdateLoadMenu(); break; case Tab.Settings: GameMain.Config.ResetSettingsFrame(); menuTabs[(int)Tab.Settings] = GameMain.Config.SettingsFrame; break; case Tab.JoinServer: GameMain.ServerListScreen.Select(); break; case Tab.HostServer: break; case Tab.Tutorials: break; case Tab.CharacterEditor: Submarine.MainSub = null; GameMain.CharacterEditorScreen.Select(); break; case Tab.SubmarineEditor: GameMain.SubEditorScreen.Select(); break; case Tab.QuickStartDev: QuickStart(); break; case Tab.SteamWorkshop: if (!Steam.SteamManager.IsInitialized) { return(false); } GameMain.SteamWorkshopScreen.Select(); break; } } else { selectedTab = 0; } if (button != null) { button.Selected = true; } ResetButtonStates(button); return(true); }