From eed6c17c4f01dfaaa5139ab1c18d2df5c20e7db0 Mon Sep 17 00:00:00 2001 From: Diyagi Date: Wed, 18 Sep 2024 13:35:09 -0300 Subject: [PATCH 1/2] Add option to toggle link after maplink --- AetheryteLinkInChat/AetheryteLinkInChat.cs | 6 +++++- AetheryteLinkInChat/Config/PluginConfig.cs | 1 + AetheryteLinkInChat/Config/PluginConfigWindow.cs | 8 ++++++++ AetheryteLinkInChat/Localization.cs | 6 ++++++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/AetheryteLinkInChat/AetheryteLinkInChat.cs b/AetheryteLinkInChat/AetheryteLinkInChat.cs index 17e09c8b8..2f7ab76cd 100644 --- a/AetheryteLinkInChat/AetheryteLinkInChat.cs +++ b/AetheryteLinkInChat/AetheryteLinkInChat.cs @@ -177,11 +177,15 @@ private void AppendNearestAetheryteLink(ref SeString message) payloads.Insert(0, new TextPayload("\n")); message.Payloads.AddRange(payloads); } - else + else if (Config.DisplayLinkAtEnd) { var mapIndex = message.Payloads.FindIndex(p => p.GetType() == typeof(MapLinkPayload)) + 8; message.Payloads.InsertRange(mapIndex, payloads); } + else + { + message.Payloads.AddRange(payloads); + } } } diff --git a/AetheryteLinkInChat/Config/PluginConfig.cs b/AetheryteLinkInChat/Config/PluginConfig.cs index f9d2e6607..fe6a82556 100644 --- a/AetheryteLinkInChat/Config/PluginConfig.cs +++ b/AetheryteLinkInChat/Config/PluginConfig.cs @@ -13,6 +13,7 @@ public class PluginConfig : IPluginConfiguration public bool ConsiderTeleportsToOtherWorlds; public bool EnableLifestreamIntegration; public bool DisplayLineBreak; + public bool DisplayLinkAtEnd; public bool EnableChatNotificationOnTeleport = true; public bool EnableQuestNotificationOnTeleport = true; diff --git a/AetheryteLinkInChat/Config/PluginConfigWindow.cs b/AetheryteLinkInChat/Config/PluginConfigWindow.cs index d9a40e083..79153dc31 100644 --- a/AetheryteLinkInChat/Config/PluginConfigWindow.cs +++ b/AetheryteLinkInChat/Config/PluginConfigWindow.cs @@ -92,6 +92,14 @@ private void DrawGeneralTab() ImGui.Checkbox(Localization.DisplayLineBreak, ref Config.DisplayLineBreak); + // Maybe not the best location for this... + if (Config.DisplayLineBreak) + Config.DisplayLinkAtEnd = false; + + ImGui.BeginDisabled(Config.DisplayLineBreak); + ImGui.Checkbox(Localization.DisplayLinkAtEnd, ref Config.DisplayLinkAtEnd); + ImGui.EndDisabled(); + ImGui.Checkbox(Localization.EnableChatNotificationOnTeleport, ref Config.EnableChatNotificationOnTeleport); ImGui.Checkbox(Localization.EnableQuestNotificationOnTeleport, ref Config.EnableQuestNotificationOnTeleport); diff --git a/AetheryteLinkInChat/Localization.cs b/AetheryteLinkInChat/Localization.cs index 6fa5fbbef..c1c863ad5 100644 --- a/AetheryteLinkInChat/Localization.cs +++ b/AetheryteLinkInChat/Localization.cs @@ -126,6 +126,12 @@ public static class Localization Ja = "テレポリンクの前に改行を入れる", }; + public static readonly LocalizedString DisplayLinkAtEnd = new() + { + En = "Display teleport link at the end of the message", + Ja = "メッセージの最後にテレポート リンクを表示する", + }; + public static readonly LocalizedString EnableChatNotificationOnTeleport = new() { En = "Enable Chat Notification on Teleport", From e877ac4250f404b514a10b04a01849086f7a7856 Mon Sep 17 00:00:00 2001 From: Diyagi Date: Wed, 18 Sep 2024 13:42:09 -0300 Subject: [PATCH 2/2] Fix config logic --- AetheryteLinkInChat/AetheryteLinkInChat.cs | 6 +++--- AetheryteLinkInChat/Config/PluginConfigWindow.cs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/AetheryteLinkInChat/AetheryteLinkInChat.cs b/AetheryteLinkInChat/AetheryteLinkInChat.cs index 2f7ab76cd..f8ae2df27 100644 --- a/AetheryteLinkInChat/AetheryteLinkInChat.cs +++ b/AetheryteLinkInChat/AetheryteLinkInChat.cs @@ -179,12 +179,12 @@ private void AppendNearestAetheryteLink(ref SeString message) } else if (Config.DisplayLinkAtEnd) { - var mapIndex = message.Payloads.FindIndex(p => p.GetType() == typeof(MapLinkPayload)) + 8; - message.Payloads.InsertRange(mapIndex, payloads); + message.Payloads.AddRange(payloads); } else { - message.Payloads.AddRange(payloads); + var mapIndex = message.Payloads.FindIndex(p => p.GetType() == typeof(MapLinkPayload)) + 8; + message.Payloads.InsertRange(mapIndex, payloads); } } } diff --git a/AetheryteLinkInChat/Config/PluginConfigWindow.cs b/AetheryteLinkInChat/Config/PluginConfigWindow.cs index 79153dc31..1d4795bd9 100644 --- a/AetheryteLinkInChat/Config/PluginConfigWindow.cs +++ b/AetheryteLinkInChat/Config/PluginConfigWindow.cs @@ -94,7 +94,7 @@ private void DrawGeneralTab() // Maybe not the best location for this... if (Config.DisplayLineBreak) - Config.DisplayLinkAtEnd = false; + Config.DisplayLinkAtEnd = true; ImGui.BeginDisabled(Config.DisplayLineBreak); ImGui.Checkbox(Localization.DisplayLinkAtEnd, ref Config.DisplayLinkAtEnd);