From 8eb4d29e7dc3c5f8b752d0e7e82e6fb2d41b4f6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B=E6=B0=B4?= <1123993881@qq.com> Date: Tue, 24 Oct 2023 21:01:00 +0800 Subject: [PATCH] fix: add a bool icon for the conditions. --- RotationSolver/Localization/Localization.json | 7 +++++-- .../UI/RotationConfigWindow_Config.cs | 3 --- .../UI/SearchableConfigs/CheckBoxSearch.cs | 18 +++++++++++++++++- .../UI/SearchableConfigs/Searchable.cs | 2 +- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/RotationSolver/Localization/Localization.json b/RotationSolver/Localization/Localization.json index 7daa2e8cd..6a773fb29 100644 --- a/RotationSolver/Localization/Localization.json +++ b/RotationSolver/Localization/Localization.json @@ -560,7 +560,10 @@ "ConfigWindow_Auto_MoveForwardConditionSet": "Move Forward Forced Condition", "ConfigWindow_Auto_MoveBackConditionSet": "Move Back Forced Condition", "ConfigWindow_Auto_AntiKnockbackConditionSet": "Anti Knockback Forced Condition", - "ConfigWindow_Auto_BurstConditionSet": "Burst Forced Condition", "ConfigWindow_Auto_SpeedConditionSet": "Speed Forced Condition", - "ConfigWindow_ConditionSetDesc": "The Condition set you chose, click to modify." + "ConfigWindow_ConditionSetDesc": "The Condition set you chose, click to modify.", + "ConfigWindow_Basic_UseAdditionalConditions": "Use additional conditions", + "ConfigWindow_Basic_SwitchCancelConditionSet": "Auto turn off conditions", + "ConfigWindow_Basic_SwitchManualConditionSet": "Auto turn manual conditions", + "ConfigWindow_Basic_SwitchAutoConditionSet": "Auto turn auto conditions" } \ No newline at end of file diff --git a/RotationSolver/UI/RotationConfigWindow_Config.cs b/RotationSolver/UI/RotationConfigWindow_Config.cs index 551736aae..fe1d13401 100644 --- a/RotationSolver/UI/RotationConfigWindow_Config.cs +++ b/RotationSolver/UI/RotationConfigWindow_Config.cs @@ -267,7 +267,6 @@ private static void DrawBasicTimer() }; private static void DrawBasicAutoSwitch() { - foreach (var searchable in _basicSwitchTurnOff) { searchable?.Draw(Job); @@ -280,8 +279,6 @@ private static void DrawBasicAutoSwitch() searchable?.Draw(Job); } - ImGui.Separator(); - _autoSwitch?.Draw(); } diff --git a/RotationSolver/UI/SearchableConfigs/CheckBoxSearch.cs b/RotationSolver/UI/SearchableConfigs/CheckBoxSearch.cs index aff9afdd8..e46008f23 100644 --- a/RotationSolver/UI/SearchableConfigs/CheckBoxSearch.cs +++ b/RotationSolver/UI/SearchableConfigs/CheckBoxSearch.cs @@ -135,6 +135,16 @@ public override void ResetToDefault(Job job) { Service.Config.SetBoolRaw(_config, Service.Config.GetBoolRawDefault(_config)); } + + protected override void DrawMiddle() + { + if (Service.Config.GetValue(PluginConfigBool.UseAdditionalConditions)) + { + ConditionDrawer.DrawCondition(Service.Config.GetValue(_config)); + ImGui.SameLine(); + } + base.DrawMiddle(); + } } internal abstract class CheckBoxSearch : Searchable @@ -177,9 +187,14 @@ protected virtual void DrawChildren(Job job) } } + protected virtual void DrawMiddle() + { + + } + protected override void DrawMain(Job job) { - var hasChild = Children != null && Children.Length > 0; + var hasChild = Children != null && Children.Any(c => c.ShowInChild); var hasAdditional = AdditionalDraw != null; var hasSub = hasChild || hasAdditional; IDalamudTextureWrap texture = null; @@ -214,6 +229,7 @@ protected override void DrawMain(Job job) if (enable || AlwaysShowChildren) { var x = ImGui.GetCursorPosX(); + DrawMiddle(); var drawBody = ImGui.TreeNode(name); if (ImGui.IsItemHovered()) ShowTooltip(job); diff --git a/RotationSolver/UI/SearchableConfigs/Searchable.cs b/RotationSolver/UI/SearchableConfigs/Searchable.cs index c75e9b79d..fbbd0dc2b 100644 --- a/RotationSolver/UI/SearchableConfigs/Searchable.cs +++ b/RotationSolver/UI/SearchableConfigs/Searchable.cs @@ -109,7 +109,7 @@ protected void ShowTooltip(Job job, bool showHand = true) } var wholeWidth = ImGui.GetWindowWidth(); - if(Tooltips != null) foreach (var tooltip in Tooltips) + if (Tooltips != null) foreach (var tooltip in Tooltips) { RotationConfigWindow.DrawLinkDescription(tooltip, wholeWidth, false); }