From 0cef58a3a68f8e31e453f28990fc83bc44495476 Mon Sep 17 00:00:00 2001 From: Limiana <5073202+Limiana@users.noreply.github.com> Date: Wed, 8 Nov 2023 15:48:23 +0300 Subject: [PATCH] Add Dalamud synchronized server info bar configuration --- YesAlready/UI/MainWindow.cs | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/YesAlready/UI/MainWindow.cs b/YesAlready/UI/MainWindow.cs index 163ee16..6c72abd 100644 --- a/YesAlready/UI/MainWindow.cs +++ b/YesAlready/UI/MainWindow.cs @@ -13,6 +13,8 @@ using PunishLib.ImGuiMethods; using Dalamud.Interface.Colors; using ECommons; +using ECommons.Reflection; +using System.Collections.Generic; namespace YesAlready.UI; @@ -86,6 +88,7 @@ public override void Draw() DisplayListOptions(); DisplayTalkOptions(); DisplayBotherOptions(); + DisplayDTROptions(); //if (ImGui.BeginTabItem("About")) //{ @@ -130,6 +133,41 @@ private void UiBuilder_TestButton() // ==================================================================================================== + private void DisplayDTROptions() + { + if (!ImGui.BeginTabItem("Server info bar")) + return; + + ImGui.PushID("Server info bar"); + + try + { + var config = DalamudReflector.GetService("Dalamud.Configuration.Internal.DalamudConfiguration"); + var dtrList = config.GetFoP>("DtrIgnore"); + var enabled = !dtrList.Contains(Svc.PluginInterface.InternalName); + if(ImGui.Checkbox("Enable", ref enabled)) + { + if(enabled) + { + dtrList.Remove(Svc.PluginInterface.InternalName); + } + else + { + dtrList.Add(Svc.PluginInterface.InternalName); + } + config.Call("QueueSave"); + } + } + catch(Exception e) + { + ImGuiEx.TextWrapped(ImGuiColors.DalamudRed, $"{e}"); + } + + ImGui.PopID(); + + ImGui.EndTabItem(); + } + private void DisplayTextOptions() { if (!ImGui.BeginTabItem("YesNo"))