From 7b76a2cbd0ec06a7936f9ea7687e9bf3c642af0c Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Sun, 15 Jan 2023 14:51:31 +0100 Subject: [PATCH] migrate GeneralOptions to ZoneType --- .../Configuration/PluginConfiguration.cs | 45 ++++++++++++------- PlayerTags/Data/ActivityContext.cs | 15 ------- 2 files changed, 28 insertions(+), 32 deletions(-) delete mode 100644 PlayerTags/Data/ActivityContext.cs diff --git a/PlayerTags/Configuration/PluginConfiguration.cs b/PlayerTags/Configuration/PluginConfiguration.cs index e04432f..0b93eb5 100644 --- a/PlayerTags/Configuration/PluginConfiguration.cs +++ b/PlayerTags/Configuration/PluginConfiguration.cs @@ -24,12 +24,35 @@ namespace PlayerTags.Configuration public int Version { get; set; } = DEFAULT_CONFIG_VERSION; public bool IsVisible = false; - [JsonProperty("GeneralOptionsV2")] - public Dictionary GeneralOptions = new() + [JsonProperty("GeneralOptionsV2"), Obsolete] + private Dictionary GeneralOptionsV2 { - { ActivityType.None, new GeneralOptionsClass() }, - { ActivityType.PveDuty, new GeneralOptionsClass() }, - { ActivityType.PvpDuty, new GeneralOptionsClass() } + set + { + void copyOverSettings(ActivityType srcType, ZoneType destType) + { + var src = value[srcType]; + var dest = GeneralOptions[destType]; + dest.IsApplyTagsToAllChatMessagesEnabled = src.IsApplyTagsToAllChatMessagesEnabled; + dest.NameplateDeadPlayerHandling = src.NameplateDeadPlayerHandling; + dest.NameplateFreeCompanyVisibility = src.NameplateFreeCompanyVisibility; + dest.NameplateTitlePosition = src.NameplateTitlePosition; + dest.NameplateTitleVisibility = src.NameplateTitleVisibility; + } + + copyOverSettings(ActivityType.None, ZoneType.Overworld); + copyOverSettings(ActivityType.PvpDuty, ZoneType.Pvp); + copyOverSettings(ActivityType.PveDuty, ZoneType.Dungeon); + copyOverSettings(ActivityType.PveDuty, ZoneType.Raid); + copyOverSettings(ActivityType.PveDuty, ZoneType.AllianceRaid); + copyOverSettings(ActivityType.PveDuty, ZoneType.Foray); + } + } + + [JsonProperty("GeneralOptionsV3")] + public Dictionary GeneralOptions = new() + { + { ZoneType.Overworld, new GeneralOptionsClass() } }; public DefaultPluginDataTemplate DefaultPluginDataTemplate = DefaultPluginDataTemplate.Simple; @@ -79,18 +102,6 @@ namespace PlayerTags.Configuration #region Obsulate Properties - [Obsolete] - [JsonProperty("GeneralOptions")] - private Dictionary GeneralOptionsV1 - { - set - { - GeneralOptions.Clear(); - foreach (var kvp in value) - GeneralOptions.Add((ActivityType)kvp.Key, kvp.Value); - } - } - [JsonProperty("NameplateFreeCompanyVisibility"), Obsolete] private NameplateFreeCompanyVisibility NameplateFreeCompanyVisibilityV1 { diff --git a/PlayerTags/Data/ActivityContext.cs b/PlayerTags/Data/ActivityContext.cs deleted file mode 100644 index ec78386..0000000 --- a/PlayerTags/Data/ActivityContext.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Newtonsoft.Json; -using System; - -namespace PlayerTags.Data -{ - [Obsolete] - [Flags] - [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] - public enum ActivityContext - { - None = 0x0, - PveDuty = 0x1, - PvpDuty = 0x2, - } -}