public override void Select() { base.Select(); textOverlay = ToolBox.WrapText(TextManager.Get("campaignend1"), GameMain.GraphicsWidth / 3, GUI.Font); textOverlaySize = GUI.Font.MeasureString(textOverlay); textOverlayTimer = 0.0f; video = Video.Load(GameMain.GraphicsDeviceManager.GraphicsDevice, GameMain.SoundManager, "Content/SplashScreens/Ending.webm"); video.Play(); creditsPlayer.Restart(); creditsPlayer.Visible = false; SteamAchievementManager.UnlockAchievement("campaigncompleted", unlockClients: true); }
private bool SelectTab(GUIButton button, object obj) { titleText.Visible = true; 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: if (!GameMain.Config.CampaignDisclaimerShown) { selectedTab = 0; GameMain.Instance.ShowCampaignDisclaimer(() => { SelectTab(null, Tab.JoinServer); }); return(true); } GameMain.ServerListScreen.Select(); break; case Tab.HostServer: if (!GameMain.Config.CampaignDisclaimerShown) { selectedTab = 0; GameMain.Instance.ShowCampaignDisclaimer(() => { SelectTab(null, Tab.HostServer); }); return(true); } 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; case Tab.Credits: titleText.Visible = false; creditsPlayer.Restart(); break; } } else { selectedTab = 0; } if (button != null) { button.Selected = true; } ResetButtonStates(button); return(true); }