Пример #1
0
        public override void Select()
        {
            base.Select();

            if (GameMain.NetworkMember != null)
            {
                GameMain.NetworkMember.Disconnect();
                GameMain.NetworkMember = null;
            }

            Submarine.Unload();

            campaignSetupUI.UpdateSubList();

            SelectTab(null, 0);
        }
Пример #2
0
        public override void Select()
        {
            base.Select();

            if (GameMain.NetworkMember != null)
            {
                GameMain.NetworkMember.Disconnect();
                GameMain.NetworkMember = null;
            }

            Submarine.Unload();

            campaignSetupUI.UpdateSubList();

            SelectTab(null, 0);

            GameAnalyticsManager.SetCustomDimension01("");
        }
Пример #3
0
        public override void Select()
        {
            base.Select();

            if (GameMain.Client != null)
            {
                GameMain.Client.Disconnect();
                GameMain.Client = null;
            }

            Submarine.Unload();

            UpdateTutorialList();

            campaignSetupUI.UpdateSubList(Submarine.SavedSubmarines);

            ResetButtonStates(null);

            GameAnalyticsManager.SetCustomDimension01("");
        }
Пример #4
0
        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);
        }