From da2d585d00fee2357363641fe431774d74ba5f46 Mon Sep 17 00:00:00 2001 From: Sad Pencil Date: Wed, 14 Sep 2022 10:31:34 +0800 Subject: [PATCH] Make CampaignTagSelector optional --- ClientCore/ClientConfiguration.cs | 2 ++ .../DXGUI/Generic/CampaignTagSelector.cs | 23 +++++++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/ClientCore/ClientConfiguration.cs b/ClientCore/ClientConfiguration.cs index 1c0752629..278480fca 100644 --- a/ClientCore/ClientConfiguration.cs +++ b/ClientCore/ClientConfiguration.cs @@ -259,6 +259,8 @@ public string GetThemePath(string themeName) public string AllowedCustomGameModes => clientDefinitionsIni.GetStringValue(SETTINGS, "AllowedCustomGameModes", "Standard,Custom Map"); + public bool CampaignGroupSelectorEnabled => clientDefinitionsIni.GetBooleanValue(SETTINGS, "CampaignGroupSelectorEnabled", false); + public string GetGameExecutableName() { string[] exeNames = clientDefinitionsIni.GetStringValue(SETTINGS, "GameExecutableNames", "Game.exe").Split(','); diff --git a/DXMainClient/DXGUI/Generic/CampaignTagSelector.cs b/DXMainClient/DXGUI/Generic/CampaignTagSelector.cs index 4bd283eca..71b091341 100644 --- a/DXMainClient/DXGUI/Generic/CampaignTagSelector.cs +++ b/DXMainClient/DXGUI/Generic/CampaignTagSelector.cs @@ -1,4 +1,5 @@ -using ClientGUI; +using ClientCore; +using ClientGUI; using DTAClient.Domain; using Microsoft.Xna.Framework; using Rampastring.Tools; @@ -27,6 +28,12 @@ public CampaignTagSelector(WindowManager windowManager, string iniName, DiscordH protected XNAClientButton btnShowAllMission; public override void Initialize() { + CampaignSelector = new CampaignSelector(WindowManager, discordHandler); + DarkeningPanel.AddAndInitializeWithControl(WindowManager, CampaignSelector); + CampaignSelector.Disable(); + + if (!ClientConfiguration.Instance.CampaignGroupSelectorEnabled) return; + Name = _iniSectionName; ClientRectangle = new Rectangle(0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT); @@ -36,10 +43,6 @@ public override void Initialize() base.Initialize(); - CampaignSelector = new CampaignSelector(WindowManager, discordHandler); - DarkeningPanel.AddAndInitializeWithControl(WindowManager, CampaignSelector); - CampaignSelector.Disable(); - btnCancel = FindChild(nameof(btnCancel)); btnCancel.LeftClick += BtnCancel_LeftClick; btnShowAllMission = FindChild(nameof(btnShowAllMission)); @@ -69,12 +72,18 @@ private void BtnCancel_LeftClick(object sender, EventArgs e) private void Hide() { - Disable(); + if (ClientConfiguration.Instance.CampaignGroupSelectorEnabled) + Disable(); + else + CampaignSelector.Disable(); } public void Show() { - Enable(); + if (ClientConfiguration.Instance.CampaignGroupSelectorEnabled) + Enable(); + else + CampaignSelector.Enable(); } CampaignSelector CampaignSelector;