some more work moving settings around
This commit is contained in:
@@ -17,63 +17,14 @@ namespace PlayerTags.Configuration
|
||||
private const NameplateFreeCompanyVisibility DefaultNameplateFreeCompanyVisibility = Data.NameplateFreeCompanyVisibility.Default;
|
||||
private const NameplateTitleVisibility DefaultNameplateTitleVisibility = Data.NameplateTitleVisibility.WhenHasTags;
|
||||
private const NameplateTitlePosition DefaultNameplateTitlePosition = Data.NameplateTitlePosition.AlwaysAboveName;
|
||||
private const bool DefaultIsApplyTagsToAllChatMessagesEnabled = true;
|
||||
|
||||
[JsonProperty("NameplateFreeCompanyVisibilityV2")]
|
||||
public Dictionary<ActivityContext, NameplateFreeCompanyVisibility> NameplateFreeCompanyVisibility = new Dictionary<ActivityContext, NameplateFreeCompanyVisibility>()
|
||||
public Dictionary<ActivityContext, GeneralOptionsClass> GeneralOptions = new Dictionary<ActivityContext, GeneralOptionsClass>()
|
||||
{
|
||||
{ ActivityContext.None, DefaultNameplateFreeCompanyVisibility },
|
||||
{ ActivityContext.PveDuty, DefaultNameplateFreeCompanyVisibility },
|
||||
{ ActivityContext.PvpDuty, DefaultNameplateFreeCompanyVisibility }
|
||||
{ ActivityContext.None, new GeneralOptionsClass() },
|
||||
{ ActivityContext.PveDuty, new GeneralOptionsClass() },
|
||||
{ ActivityContext.PvpDuty, new GeneralOptionsClass() }
|
||||
};
|
||||
[JsonProperty("NameplateTitleVisibilityV2")]
|
||||
public Dictionary<ActivityContext, NameplateTitleVisibility> NameplateTitleVisibility = new Dictionary<ActivityContext, NameplateTitleVisibility>()
|
||||
{
|
||||
{ ActivityContext.None, DefaultNameplateTitleVisibility },
|
||||
{ ActivityContext.PveDuty, DefaultNameplateTitleVisibility },
|
||||
{ ActivityContext.PvpDuty, DefaultNameplateTitleVisibility }
|
||||
};
|
||||
[JsonProperty("NameplateTitlePositionV2")]
|
||||
public Dictionary<ActivityContext, NameplateTitlePosition> NameplateTitlePosition = new Dictionary<ActivityContext, NameplateTitlePosition>()
|
||||
{
|
||||
{ ActivityContext.None, DefaultNameplateTitlePosition },
|
||||
{ ActivityContext.PveDuty, DefaultNameplateTitlePosition },
|
||||
{ ActivityContext.PvpDuty, DefaultNameplateTitlePosition }
|
||||
};
|
||||
|
||||
#region Obsulate Properties
|
||||
|
||||
[JsonProperty("NameplateFreeCompanyVisibility"), Obsolete]
|
||||
private NameplateFreeCompanyVisibility NameplateFreeCompanyVisibilityV1
|
||||
{
|
||||
set
|
||||
{
|
||||
NameplateFreeCompanyVisibility[ActivityContext.None] = value;
|
||||
NameplateFreeCompanyVisibility[ActivityContext.PveDuty] = value;
|
||||
NameplateFreeCompanyVisibility[ActivityContext.PvpDuty] = value;
|
||||
}
|
||||
}
|
||||
[JsonProperty("NameplateTitleVisibility"), Obsolete]
|
||||
public NameplateTitleVisibility NameplateTitleVisibilityV1
|
||||
{
|
||||
set
|
||||
{
|
||||
NameplateTitleVisibility[ActivityContext.None] = value;
|
||||
NameplateTitleVisibility[ActivityContext.PveDuty] = value;
|
||||
NameplateTitleVisibility[ActivityContext.PvpDuty] = value;
|
||||
}
|
||||
}
|
||||
[JsonProperty("NameplateTitlePosition"), Obsolete]
|
||||
public NameplateTitlePosition NameplateTitlePositionV1
|
||||
{
|
||||
set
|
||||
{
|
||||
NameplateTitlePosition[ActivityContext.None] = value;
|
||||
NameplateTitlePosition[ActivityContext.PveDuty] = value;
|
||||
NameplateTitlePosition[ActivityContext.PvpDuty] = value;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public bool IsPlayerNameRandomlyGenerated = false;
|
||||
public bool IsCustomTagsContextMenuEnabled = true;
|
||||
@@ -85,8 +36,6 @@ namespace PlayerTags.Configuration
|
||||
public bool IsPlayersTabAllianceVisible = true;
|
||||
public bool IsPlayersTabEnemiesVisible = true;
|
||||
public bool IsPlayersTabOthersVisible = false;
|
||||
public bool IsLinkSelfInChatEnabled = false;
|
||||
public bool IsApplyTagsToAllChatMessagesEnabled = true;
|
||||
|
||||
[JsonProperty(TypeNameHandling = TypeNameHandling.None, ItemTypeNameHandling = TypeNameHandling.None)]
|
||||
public Dictionary<string, InheritableData> AllTagsChanges = new Dictionary<string, InheritableData>();
|
||||
@@ -118,6 +67,58 @@ namespace PlayerTags.Configuration
|
||||
[JsonProperty(TypeNameHandling = TypeNameHandling.None, ItemTypeNameHandling = TypeNameHandling.None)]
|
||||
public List<Identity> Identities = new List<Identity>();
|
||||
|
||||
#region Obsulate Properties
|
||||
|
||||
[JsonProperty("NameplateFreeCompanyVisibility"), Obsolete]
|
||||
private NameplateFreeCompanyVisibility NameplateFreeCompanyVisibilityV1
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (var key in GeneralOptions.Keys)
|
||||
GeneralOptions[key].NameplateFreeCompanyVisibility = value;
|
||||
}
|
||||
}
|
||||
[JsonProperty("NameplateTitleVisibility"), Obsolete]
|
||||
public NameplateTitleVisibility NameplateTitleVisibilityV1
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (var key in GeneralOptions.Keys)
|
||||
GeneralOptions[key].NameplateTitleVisibility = value;
|
||||
}
|
||||
}
|
||||
[JsonProperty("NameplateTitlePosition"), Obsolete]
|
||||
public NameplateTitlePosition NameplateTitlePositionV1
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (var key in GeneralOptions.Keys)
|
||||
GeneralOptions[key].NameplateTitlePosition = value;
|
||||
}
|
||||
}
|
||||
|
||||
[JsonProperty("IsApplyTagsToAllChatMessagesEnabled"), Obsolete]
|
||||
private bool IsApplyTagsToAllChatMessagesEnabledV1
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (var key in GeneralOptions.Keys)
|
||||
GeneralOptions[key].IsApplyTagsToAllChatMessagesEnabled = value;
|
||||
}
|
||||
}
|
||||
|
||||
[JsonProperty("IsLinkSelfInChatEnabled"), Obsolete]
|
||||
private bool IsLinkSelfInChatEnabledV1
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (var key in GeneralOptions.Keys)
|
||||
GeneralOptions[key].IsLinkSelfInChatEnabled = value;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public event System.Action? Saved;
|
||||
|
||||
public void Save(PluginData pluginData)
|
||||
@@ -219,4 +220,14 @@ namespace PlayerTags.Configuration
|
||||
Saved?.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
public class GeneralOptionsClass
|
||||
{
|
||||
public NameplateFreeCompanyVisibility NameplateFreeCompanyVisibility = NameplateFreeCompanyVisibility.Default;
|
||||
public NameplateTitleVisibility NameplateTitleVisibility = NameplateTitleVisibility.WhenHasTags;
|
||||
public NameplateTitlePosition NameplateTitlePosition = NameplateTitlePosition.AlwaysAboveName;
|
||||
|
||||
public bool IsApplyTagsToAllChatMessagesEnabled = true;
|
||||
public bool IsLinkSelfInChatEnabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,6 +48,8 @@ namespace PlayerTags.Configuration
|
||||
|
||||
if (ImGui.Begin(Strings.Loc_Static_PluginName, ref m_PluginConfiguration.IsVisible))
|
||||
{
|
||||
propertyProxy.LoadData();
|
||||
|
||||
ImGui.PushStyleColor(ImGuiCol.Text, new Vector4(1, 0.8f, 0.5f, 1));
|
||||
ImGui.TextWrapped(Strings.Loc_Static_WarningMessage);
|
||||
ImGui.PopStyleColor();
|
||||
@@ -60,23 +62,23 @@ namespace PlayerTags.Configuration
|
||||
{
|
||||
ImGui.Spacing();
|
||||
ImGui.Spacing();
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsCustomTagsContextMenuEnabled), true, ref m_PluginConfiguration.IsCustomTagsContextMenuEnabled, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsCustomTagsContextMenuEnabled), true, ref m_PluginConfiguration.IsCustomTagsContextMenuEnabled, () => SaveSettings());
|
||||
|
||||
|
||||
ImGui.Spacing();
|
||||
ImGui.Spacing();
|
||||
DrawHeading(Strings.Loc_Static_Nameplates);
|
||||
DrawComboBox(true, true, false, ref propertyProxy.NameplateFreeCompanyVisibility, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawComboBox(true, true, false, ref propertyProxy.NameplateTitleVisibility, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawComboBox(true, true, false, ref propertyProxy.NameplateTitlePosition, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawComboBox(true, true, false, ref propertyProxy.NameplateFreeCompanyVisibility, () => SaveSettings(true));
|
||||
DrawComboBox(true, true, false, ref propertyProxy.NameplateTitleVisibility, () => SaveSettings(true));
|
||||
DrawComboBox(true, true, false, ref propertyProxy.NameplateTitlePosition, () => SaveSettings(true));
|
||||
|
||||
|
||||
ImGui.Spacing();
|
||||
ImGui.Spacing();
|
||||
DrawHeading(Strings.Loc_Static_Experimental);
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayerNameRandomlyGenerated), true, ref m_PluginConfiguration.IsPlayerNameRandomlyGenerated, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsLinkSelfInChatEnabled), true, ref m_PluginConfiguration.IsLinkSelfInChatEnabled, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsApplyTagsToAllChatMessagesEnabled), true, ref m_PluginConfiguration.IsApplyTagsToAllChatMessagesEnabled, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayerNameRandomlyGenerated), true, ref m_PluginConfiguration.IsPlayerNameRandomlyGenerated, () => SaveSettings());
|
||||
DrawCheckbox(nameof(propertyProxy.IsLinkSelfInChatEnabled), true, ref propertyProxy.IsLinkSelfInChatEnabled, () => SaveSettings(true));
|
||||
DrawCheckbox(nameof(propertyProxy.IsApplyTagsToAllChatMessagesEnabled), true, ref propertyProxy.IsApplyTagsToAllChatMessagesEnabled, () => SaveSettings(true));
|
||||
|
||||
ImGui.EndTabItem();
|
||||
}
|
||||
@@ -85,7 +87,7 @@ namespace PlayerTags.Configuration
|
||||
{
|
||||
ImGui.Spacing();
|
||||
ImGui.Spacing();
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsShowInheritedPropertiesEnabled), true, ref m_PluginConfiguration.IsShowInheritedPropertiesEnabled, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsShowInheritedPropertiesEnabled), true, ref m_PluginConfiguration.IsShowInheritedPropertiesEnabled, () => SaveSettings());
|
||||
ImGui.BeginGroup();
|
||||
ImGui.Columns(2);
|
||||
|
||||
@@ -112,13 +114,13 @@ namespace PlayerTags.Configuration
|
||||
{
|
||||
ImGui.Spacing();
|
||||
ImGui.Spacing();
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayersTabOrderedByProximity), true, ref m_PluginConfiguration.IsPlayersTabOrderedByProximity, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayersTabSelfVisible), true, ref m_PluginConfiguration.IsPlayersTabSelfVisible, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayersTabFriendsVisible), true, ref m_PluginConfiguration.IsPlayersTabFriendsVisible, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayersTabPartyVisible), true, ref m_PluginConfiguration.IsPlayersTabPartyVisible, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayersTabAllianceVisible), true, ref m_PluginConfiguration.IsPlayersTabAllianceVisible, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayersTabEnemiesVisible), true, ref m_PluginConfiguration.IsPlayersTabEnemiesVisible, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayersTabOthersVisible), true, ref m_PluginConfiguration.IsPlayersTabOthersVisible, () => m_PluginConfiguration.Save(m_PluginData));
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayersTabOrderedByProximity), true, ref m_PluginConfiguration.IsPlayersTabOrderedByProximity, () => SaveSettings());
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayersTabSelfVisible), true, ref m_PluginConfiguration.IsPlayersTabSelfVisible, () => SaveSettings());
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayersTabFriendsVisible), true, ref m_PluginConfiguration.IsPlayersTabFriendsVisible, () => SaveSettings());
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayersTabPartyVisible), true, ref m_PluginConfiguration.IsPlayersTabPartyVisible, () => SaveSettings());
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayersTabAllianceVisible), true, ref m_PluginConfiguration.IsPlayersTabAllianceVisible, () => SaveSettings());
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayersTabEnemiesVisible), true, ref m_PluginConfiguration.IsPlayersTabEnemiesVisible, () => SaveSettings());
|
||||
DrawCheckbox(nameof(m_PluginConfiguration.IsPlayersTabOthersVisible), true, ref m_PluginConfiguration.IsPlayersTabOthersVisible, () => SaveSettings());
|
||||
|
||||
ImGui.Spacing();
|
||||
ImGui.Spacing();
|
||||
@@ -234,7 +236,7 @@ namespace PlayerTags.Configuration
|
||||
|
||||
if (!m_PluginConfiguration.IsVisible)
|
||||
{
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
SaveSettings();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,12 +277,12 @@ namespace PlayerTags.Configuration
|
||||
if (isTagAssigned)
|
||||
{
|
||||
m_PluginData.AddCustomTagToIdentity(customTag, identity);
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
SaveSettings();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_PluginData.RemoveCustomTagFromIdentity(customTag, identity);
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
SaveSettings();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -316,7 +318,7 @@ namespace PlayerTags.Configuration
|
||||
}
|
||||
|
||||
tag.IsSelected.Value = true;
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
SaveSettings();
|
||||
}
|
||||
|
||||
public void DrawTree(Tag tag)
|
||||
@@ -422,7 +424,7 @@ namespace PlayerTags.Configuration
|
||||
m_PluginData.RemoveCustomTagFromIdentities(tag);
|
||||
m_PluginData.AllCustomTags.Children.Remove(tag);
|
||||
m_PluginData.CustomTags.Remove(tag);
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
SaveSettings();
|
||||
|
||||
Select(m_PluginData.AllCustomTags);
|
||||
}
|
||||
@@ -444,12 +446,12 @@ namespace PlayerTags.Configuration
|
||||
if (isOpened && tag.Children.Any() && !tag.IsExpanded.Value)
|
||||
{
|
||||
tag.IsExpanded.Value = true;
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
SaveSettings();
|
||||
}
|
||||
else if (!isOpened && tag.IsExpanded.Value)
|
||||
{
|
||||
tag.IsExpanded.Value = false;
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
SaveSettings();
|
||||
}
|
||||
|
||||
|
||||
@@ -552,7 +554,7 @@ namespace PlayerTags.Configuration
|
||||
inheritableBool.Value = true;
|
||||
}
|
||||
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
SaveSettings();
|
||||
ImGui.CloseCurrentPopup();
|
||||
}
|
||||
|
||||
@@ -692,7 +694,7 @@ namespace PlayerTags.Configuration
|
||||
if (ImGui.Button(FontAwesomeIcon.TrashAlt.ToIconString(), new Vector2(23, 23)))
|
||||
{
|
||||
inheritable.Behavior = InheritableBehavior.Inherit;
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
SaveSettings();
|
||||
}
|
||||
ImGui.PopFont();
|
||||
ImGui.PopStyleColor();
|
||||
@@ -741,7 +743,7 @@ namespace PlayerTags.Configuration
|
||||
{
|
||||
DrawCheckbox("IsEnabled", false, ref inheritable.Value, () =>
|
||||
{
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
SaveSettings();
|
||||
});
|
||||
|
||||
ImGui.SameLine();
|
||||
@@ -811,7 +813,7 @@ namespace PlayerTags.Configuration
|
||||
{
|
||||
inheritable.Behavior = InheritableBehavior.Disabled;
|
||||
}
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
SaveSettings();
|
||||
});
|
||||
|
||||
if (isEnabled)
|
||||
@@ -819,7 +821,7 @@ namespace PlayerTags.Configuration
|
||||
ImGui.SameLine();
|
||||
ImGui.SetNextItemWidth(200);
|
||||
ImGui.BeginChild(inheritable.GetHashCode().ToString(), new Vector2(200, 0));
|
||||
DrawComboBox(false, shouldLocalizeNames, shouldOrderNames, ref inheritable.Value, () => { m_PluginConfiguration.Save(m_PluginData); });
|
||||
DrawComboBox(false, shouldLocalizeNames, shouldOrderNames, ref inheritable.Value, () => { SaveSettings(); });
|
||||
ImGui.EndChild();
|
||||
}
|
||||
|
||||
@@ -886,7 +888,7 @@ namespace PlayerTags.Configuration
|
||||
{
|
||||
inheritable.Behavior = InheritableBehavior.Disabled;
|
||||
}
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
SaveSettings();
|
||||
});
|
||||
|
||||
if (isEnabled)
|
||||
@@ -917,7 +919,7 @@ namespace PlayerTags.Configuration
|
||||
{
|
||||
m_ColorPickerPopupDataContext.Value = (ushort)value.RowId;
|
||||
m_ColorPickerPopupDataContext = null;
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
SaveSettings();
|
||||
}
|
||||
|
||||
ImGui.CloseCurrentPopup();
|
||||
@@ -998,7 +1000,7 @@ namespace PlayerTags.Configuration
|
||||
{
|
||||
inheritable.Behavior = InheritableBehavior.Disabled;
|
||||
}
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
SaveSettings();
|
||||
});
|
||||
|
||||
if (isEnabled)
|
||||
@@ -1006,7 +1008,7 @@ namespace PlayerTags.Configuration
|
||||
ImGui.SameLine();
|
||||
ImGui.SetNextItemWidth(200);
|
||||
ImGui.BeginChild(inheritable.GetHashCode().ToString(), new Vector2(200, 0));
|
||||
DrawTextBox(localizedStringName, ref inheritable.Value, () => { m_PluginConfiguration.Save(m_PluginData); });
|
||||
DrawTextBox(localizedStringName, ref inheritable.Value, () => { SaveSettings(); });
|
||||
ImGui.EndChild();
|
||||
}
|
||||
|
||||
@@ -1163,6 +1165,13 @@ namespace PlayerTags.Configuration
|
||||
}
|
||||
}
|
||||
|
||||
private void SaveSettings(bool saveProxy = false)
|
||||
{
|
||||
if (saveProxy)
|
||||
propertyProxy.SaveData();
|
||||
m_PluginConfiguration.Save(m_PluginData);
|
||||
}
|
||||
|
||||
private class PropertyProxy
|
||||
{
|
||||
private PluginConfiguration pluginConfig;
|
||||
@@ -1170,6 +1179,8 @@ namespace PlayerTags.Configuration
|
||||
public NameplateFreeCompanyVisibility NameplateFreeCompanyVisibility;
|
||||
public NameplateTitleVisibility NameplateTitleVisibility;
|
||||
public NameplateTitlePosition NameplateTitlePosition;
|
||||
public bool IsApplyTagsToAllChatMessagesEnabled;
|
||||
public bool IsLinkSelfInChatEnabled;
|
||||
|
||||
public PropertyProxy(PluginConfiguration config)
|
||||
{
|
||||
@@ -1178,21 +1189,23 @@ namespace PlayerTags.Configuration
|
||||
|
||||
public void LoadData()
|
||||
{
|
||||
NameplateFreeCompanyVisibility = pluginConfig.NameplateFreeCompanyVisibility[ActivityContext.None];
|
||||
NameplateTitleVisibility = pluginConfig.NameplateTitleVisibility[ActivityContext.None];
|
||||
NameplateTitlePosition = pluginConfig.NameplateTitlePosition[ActivityContext.None];
|
||||
NameplateFreeCompanyVisibility = pluginConfig.GeneralOptions[ActivityContext.None].NameplateFreeCompanyVisibility;
|
||||
NameplateTitleVisibility = pluginConfig.GeneralOptions[ActivityContext.None].NameplateTitleVisibility;
|
||||
NameplateTitlePosition = pluginConfig.GeneralOptions[ActivityContext.None].NameplateTitlePosition;
|
||||
IsApplyTagsToAllChatMessagesEnabled = pluginConfig.GeneralOptions[ActivityContext.None].IsApplyTagsToAllChatMessagesEnabled;
|
||||
IsLinkSelfInChatEnabled = pluginConfig.GeneralOptions[ActivityContext.None].IsLinkSelfInChatEnabled;
|
||||
}
|
||||
|
||||
public void SaveData()
|
||||
{
|
||||
foreach (var key in pluginConfig.NameplateFreeCompanyVisibility.Keys)
|
||||
pluginConfig.NameplateFreeCompanyVisibility[key] = NameplateFreeCompanyVisibility;
|
||||
|
||||
foreach (var key in pluginConfig.NameplateTitleVisibility.Keys)
|
||||
pluginConfig.NameplateTitleVisibility[key] = NameplateTitleVisibility;
|
||||
|
||||
foreach (var key in pluginConfig.NameplateTitlePosition.Keys)
|
||||
pluginConfig.NameplateTitlePosition[key] = NameplateTitlePosition;
|
||||
foreach (var key in pluginConfig.GeneralOptions.Keys)
|
||||
{
|
||||
pluginConfig.GeneralOptions[key].NameplateFreeCompanyVisibility = NameplateFreeCompanyVisibility;
|
||||
pluginConfig.GeneralOptions[key].NameplateTitleVisibility = NameplateTitleVisibility;
|
||||
pluginConfig.GeneralOptions[key].NameplateTitlePosition = NameplateTitlePosition;
|
||||
pluginConfig.GeneralOptions[key].IsApplyTagsToAllChatMessagesEnabled = IsApplyTagsToAllChatMessagesEnabled;
|
||||
pluginConfig.GeneralOptions[key].IsLinkSelfInChatEnabled = IsLinkSelfInChatEnabled;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
using System;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
|
||||
namespace PlayerTags.Data
|
||||
{
|
||||
[Flags]
|
||||
[JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
|
||||
public enum ActivityContext
|
||||
{
|
||||
None = 0x0,
|
||||
|
||||
@@ -103,7 +103,7 @@ namespace PlayerTags.Features
|
||||
|
||||
private void Chat_ChatMessage(XivChatType type, uint senderId, ref SeString sender, ref SeString message, ref bool isHandled)
|
||||
{
|
||||
if (m_PluginConfiguration.IsApplyTagsToAllChatMessagesEnabled || Enum.IsDefined(type))
|
||||
if (m_PluginConfiguration.GeneralOptions[ActivityContextManager.CurrentActivityContext].IsApplyTagsToAllChatMessagesEnabled || Enum.IsDefined(type))
|
||||
{
|
||||
AddTagsToChat(sender);
|
||||
AddTagsToChat(message);
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace PlayerTags.Features
|
||||
|
||||
private void Chat_ChatMessage(XivChatType type, uint senderId, ref SeString sender, ref SeString message, ref bool isHandled)
|
||||
{
|
||||
if (m_PluginConfiguration.IsLinkSelfInChatEnabled)
|
||||
if (m_PluginConfiguration.GeneralOptions[activityContextManager.CurrentActivityContext].IsLinkSelfInChatEnabled)
|
||||
{
|
||||
ParsePayloads(sender);
|
||||
ParsePayloads(message);
|
||||
|
||||
@@ -102,22 +102,22 @@ namespace PlayerTags.Features
|
||||
var beforeTitleBytes = args.Title.Encode();
|
||||
AddTagsToNameplate(args.PlayerCharacter, args.Name, args.Title, args.FreeCompany);
|
||||
|
||||
if (m_PluginConfiguration.NameplateTitlePosition[ActivityContextManager.CurrentActivityContext] == NameplateTitlePosition.AlwaysAboveName)
|
||||
if (m_PluginConfiguration.GeneralOptions[ActivityContextManager.CurrentActivityContext].NameplateTitlePosition == NameplateTitlePosition.AlwaysAboveName)
|
||||
args.IsTitleAboveName = true;
|
||||
else if (m_PluginConfiguration.NameplateTitlePosition[ActivityContextManager.CurrentActivityContext] == NameplateTitlePosition.AlwaysBelowName)
|
||||
else if (m_PluginConfiguration.GeneralOptions[ActivityContextManager.CurrentActivityContext].NameplateTitlePosition == NameplateTitlePosition.AlwaysBelowName)
|
||||
args.IsTitleAboveName = false;
|
||||
|
||||
if (m_PluginConfiguration.NameplateTitleVisibility[ActivityContextManager.CurrentActivityContext] == NameplateTitleVisibility.Always)
|
||||
if (m_PluginConfiguration.GeneralOptions[ActivityContextManager.CurrentActivityContext].NameplateTitleVisibility == NameplateTitleVisibility.Always)
|
||||
args.IsTitleVisible = true;
|
||||
else if (m_PluginConfiguration.NameplateTitleVisibility[ActivityContextManager.CurrentActivityContext] == NameplateTitleVisibility.Never)
|
||||
else if (m_PluginConfiguration.GeneralOptions[ActivityContextManager.CurrentActivityContext].NameplateTitleVisibility == NameplateTitleVisibility.Never)
|
||||
args.IsTitleVisible = false;
|
||||
else if (m_PluginConfiguration.NameplateTitleVisibility[ActivityContextManager.CurrentActivityContext] == NameplateTitleVisibility.WhenHasTags)
|
||||
else if (m_PluginConfiguration.GeneralOptions[ActivityContextManager.CurrentActivityContext].NameplateTitleVisibility == NameplateTitleVisibility.WhenHasTags)
|
||||
{
|
||||
bool hasTitleChanged = !beforeTitleBytes.SequenceEqual(args.Title.Encode());
|
||||
args.IsTitleVisible = hasTitleChanged;
|
||||
}
|
||||
|
||||
if (m_PluginConfiguration.NameplateFreeCompanyVisibility[ActivityContextManager.CurrentActivityContext] == NameplateFreeCompanyVisibility.Never)
|
||||
if (m_PluginConfiguration.GeneralOptions[ActivityContextManager.CurrentActivityContext].NameplateFreeCompanyVisibility == NameplateFreeCompanyVisibility.Never)
|
||||
args.FreeCompany.Payloads.Clear();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user