diff --git a/PlayerTags/Configuration/PluginConfiguration.cs b/PlayerTags/Configuration/PluginConfiguration.cs index 7c697d2..305dd2a 100644 --- a/PlayerTags/Configuration/PluginConfiguration.cs +++ b/PlayerTags/Configuration/PluginConfiguration.cs @@ -1,5 +1,4 @@ using Dalamud.Configuration; -using Dalamud.Plugin; using Newtonsoft.Json; using PlayerTags.Data; using PlayerTags.Inheritables; @@ -20,7 +19,13 @@ namespace PlayerTags.Configuration public bool IsPlayerNameRandomlyGenerated = false; public bool IsCustomTagsContextMenuEnabled = true; public bool IsShowInheritedPropertiesEnabled = true; - public bool IsSortedByProximity = true; + public bool IsPlayersTabOrderedByProximity = true; + public bool IsPlayersTabSelfVisible = true; + public bool IsPlayersTabFriendsVisible = true; + public bool IsPlayersTabPartyVisible = true; + public bool IsPlayersTabAllianceVisible = true; + public bool IsPlayersTabEnemiesVisible = true; + public bool IsPlayersTabOthersVisible = false; [JsonProperty(TypeNameHandling = TypeNameHandling.None, ItemTypeNameHandling = TypeNameHandling.None)] public Dictionary AllTagsChanges = new Dictionary(); diff --git a/PlayerTags/Configuration/PluginConfigurationUI.cs b/PlayerTags/Configuration/PluginConfigurationUI.cs index b852f69..0b26f08 100644 --- a/PlayerTags/Configuration/PluginConfigurationUI.cs +++ b/PlayerTags/Configuration/PluginConfigurationUI.cs @@ -17,6 +17,12 @@ namespace PlayerTags.Configuration { public class PluginConfigurationUI { + private struct PlayerInfo + { + public PlayerContext PlayerContext; + public float Proximity; + } + private PluginConfiguration m_PluginConfiguration; private PluginData m_PluginData; @@ -101,12 +107,20 @@ namespace PlayerTags.Configuration ImGui.EndTabItem(); } - if (ImGui.BeginTabItem(Strings.Loc_Static_Party)) + if (ImGui.BeginTabItem(Strings.Loc_Static_Players)) { ImGui.Spacing(); ImGui.Spacing(); ImGui.TreePush(); - if (ImGui.BeginTable("##PartyAssignTable", 1 + m_PluginData.CustomTags.Count)) + 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)); + + if (ImGui.BeginTable("##PlayersTable", 1 + m_PluginData.CustomTags.Count)) { ImGui.TableHeader(Strings.Loc_Static_PlayerName); ImGui.TableSetupColumn(Strings.Loc_Static_PlayerName); @@ -119,65 +133,52 @@ namespace PlayerTags.Configuration } ImGui.TableHeadersRow(); - int rowIndex = 0; - foreach (var partyMember in PluginServices.PartyList.OrderBy(obj => obj.Name.TextValue).ToArray()) + if (PluginServices.ClientState.LocalPlayer != null) { - DrawPlayerAssignmentRow(partyMember.Name.TextValue, rowIndex); - ++rowIndex; - } + Dictionary playerNameContexts = PluginServices.ObjectTable + .Where(gameObject => gameObject is PlayerCharacter) + .Select(gameObject => gameObject as PlayerCharacter) + .ToDictionary( + playerCharacter => playerCharacter!.Name.TextValue, + playerCharacter => new PlayerInfo() + { + PlayerContext = PlayerContextHelper.GetPlayerContext(playerCharacter!), + Proximity = (playerCharacter!.Position - PluginServices.ClientState.LocalPlayer.Position).Length() + }); - if (PluginServices.PartyList.Length == 0 && PluginServices.ClientState.LocalPlayer != null) - { - DrawPlayerAssignmentRow(PluginServices.ClientState.LocalPlayer.Name.TextValue, 0); - } + // Include party members that aren't in the game object list + foreach (var partyMember in PluginServices.PartyList) + { + if (!playerNameContexts.ContainsKey(partyMember.Name.TextValue)) + { + playerNameContexts[partyMember.Name.TextValue] = new PlayerInfo() + { + PlayerContext = PlayerContext.Party, + Proximity = int.MaxValue + }; + } + } - ImGui.EndTable(); - } - ImGui.TreePop(); + var filteredPlayerNameContexts = playerNameContexts.Where(player => PlayerContextHelper.GetIsVisible(player.Value.PlayerContext, + m_PluginConfiguration.IsPlayersTabSelfVisible, + m_PluginConfiguration.IsPlayersTabFriendsVisible, + m_PluginConfiguration.IsPlayersTabPartyVisible, + m_PluginConfiguration.IsPlayersTabAllianceVisible, + m_PluginConfiguration.IsPlayersTabEnemiesVisible, + m_PluginConfiguration.IsPlayersTabOthersVisible)); - ImGui.EndTabItem(); - } + var orderedPlayerNameContexts = filteredPlayerNameContexts.OrderBy(player => player.Key); + if (m_PluginConfiguration.IsPlayersTabOrderedByProximity) + { + orderedPlayerNameContexts = filteredPlayerNameContexts.OrderBy(player => player.Value.Proximity); + } - if (ImGui.BeginTabItem(Strings.Loc_Static_Proximity)) - { - ImGui.Spacing(); - ImGui.Spacing(); - ImGui.TreePush(); - DrawCheckbox(nameof(m_PluginConfiguration.IsSortedByProximity), true, ref m_PluginConfiguration.IsSortedByProximity, () => m_PluginConfiguration.Save(m_PluginData)); - - if (ImGui.BeginTable("##ProximityAssignTable", 1 + m_PluginData.CustomTags.Count)) - { - ImGui.TableHeader(Strings.Loc_Static_PlayerName); - ImGui.TableSetupColumn(Strings.Loc_Static_PlayerName); - ImGui.NextColumn(); - foreach (var customTag in m_PluginData.CustomTags) - { - ImGui.TableHeader(customTag.Text.InheritedValue); - ImGui.TableSetupColumn(customTag.Text.InheritedValue); - ImGui.NextColumn(); - } - ImGui.TableHeadersRow(); - - var players = PluginServices.ObjectTable.Where(gameObject => gameObject is PlayerCharacter); - if (m_PluginConfiguration.IsSortedByProximity && PluginServices.ClientState.LocalPlayer != null) - { - players = players.OrderBy(gameObject => (gameObject.Position - PluginServices.ClientState.LocalPlayer.Position).Length()); - } - else - { - players = players.OrderBy(obj => obj.Name.TextValue); - } - - int rowIndex = 0; - foreach (var gameObject in players) - { - DrawPlayerAssignmentRow(gameObject.Name.TextValue, rowIndex); - ++rowIndex; - } - - if (PluginServices.ObjectTable.Length == 0 && PluginServices.ClientState.LocalPlayer != null) - { - DrawPlayerAssignmentRow(PluginServices.ClientState.LocalPlayer.Name.TextValue, 0); + int rowIndex = 0; + foreach (var player in orderedPlayerNameContexts) + { + DrawPlayerAssignmentRow(player.Key, rowIndex); + ++rowIndex; + } } ImGui.EndTable(); diff --git a/PlayerTags/Data/ActivityContext.cs b/PlayerTags/Data/ActivityContext.cs index 878a1a4..91ae10a 100644 --- a/PlayerTags/Data/ActivityContext.cs +++ b/PlayerTags/Data/ActivityContext.cs @@ -1,9 +1,12 @@ -namespace PlayerTags.Data +using System; + +namespace PlayerTags.Data { + [Flags] public enum ActivityContext { - Overworld, - PveDuty, - PvpDuty, + None = 0x0, + PveDuty = 0x1, + PvpDuty = 0x2, } } diff --git a/PlayerTags/Data/ActivityContextHelper.cs b/PlayerTags/Data/ActivityContextHelper.cs new file mode 100644 index 0000000..c843b33 --- /dev/null +++ b/PlayerTags/Data/ActivityContextHelper.cs @@ -0,0 +1,27 @@ +namespace PlayerTags.Data +{ + public static class ActivityContextHelper + { + public static bool GetIsVisible(ActivityContext playerContext, bool desiredPveDutyVisibility, bool desiredPvpDutyVisibility, bool desiredOthersVisibility) + { + bool isVisible = false; + + if (playerContext.HasFlag(ActivityContext.PveDuty)) + { + isVisible |= desiredPveDutyVisibility; + } + + if (playerContext.HasFlag(ActivityContext.PvpDuty)) + { + isVisible |= desiredPvpDutyVisibility; + } + + if (playerContext == ActivityContext.None) + { + isVisible |= desiredOthersVisibility; + } + + return isVisible; + } + } +} diff --git a/PlayerTags/Data/PlayerContextHelper.cs b/PlayerTags/Data/PlayerContextHelper.cs new file mode 100644 index 0000000..d27d715 --- /dev/null +++ b/PlayerTags/Data/PlayerContextHelper.cs @@ -0,0 +1,81 @@ +using Dalamud.Game.ClientState.Objects.Enums; +using Dalamud.Game.ClientState.Objects.SubKinds; + +namespace PlayerTags.Data +{ + public static class PlayerContextHelper + { + public static PlayerContext GetPlayerContext(PlayerCharacter playerCharacter) + { + PlayerContext playerContext = PlayerContext.None; + + if (PluginServices.ClientState.LocalPlayer == playerCharacter) + { + playerContext |= PlayerContext.Self; + } + + if (playerCharacter.StatusFlags.HasFlag(StatusFlags.Friend)) + { + playerContext |= PlayerContext.Friend; + } + + if (playerCharacter.StatusFlags.HasFlag(StatusFlags.PartyMember)) + { + playerContext |= PlayerContext.Party; + } + + if (playerCharacter.StatusFlags.HasFlag(StatusFlags.AllianceMember)) + { + playerContext |= PlayerContext.Alliance; + } + + if (playerCharacter.StatusFlags.HasFlag(StatusFlags.Hostile)) + { + playerContext |= PlayerContext.Enemy; + } + + return playerContext; + } + + public static bool GetIsVisible(PlayerContext playerContext, bool desiredSelfVisibility, bool desiredFriendsVisibility, bool desiredPartyVisibility, bool desiredAllianceVisibility, bool desiredEnemiesVisibility, bool desiredOthersVisibility) + { + if (playerContext.HasFlag(PlayerContext.Self)) + { + return desiredSelfVisibility; + } + + bool isVisible = false; + if (playerContext.HasFlag(PlayerContext.Friend)) + { + isVisible |= desiredFriendsVisibility; + } + + if (playerContext.HasFlag(PlayerContext.Party)) + { + isVisible |= desiredPartyVisibility; + } + + if (!playerContext.HasFlag(PlayerContext.Party) && playerContext.HasFlag(PlayerContext.Alliance)) + { + isVisible |= desiredAllianceVisibility; + } + + if (playerContext.HasFlag(PlayerContext.Enemy)) + { + isVisible |= desiredEnemiesVisibility; + } + + if (playerContext == PlayerContext.None) + { + isVisible |= desiredOthersVisibility; + } + + return isVisible; + } + + public static bool GetIsVisible(PlayerCharacter playerCharacter, bool desiredSelfVisibility, bool desiredFriendsVisibility, bool desiredPartyVisibility, bool desiredAllianceVisibility, bool desiredEnemiesVisibility, bool desiredOthersVisibility) + { + return GetIsVisible(GetPlayerContext(playerCharacter), desiredSelfVisibility, desiredFriendsVisibility, desiredPartyVisibility, desiredAllianceVisibility, desiredEnemiesVisibility, desiredOthersVisibility); + } + } +} diff --git a/PlayerTags/Features/TagTargetFeature.cs b/PlayerTags/Features/TagTargetFeature.cs index 923ae5a..f15608e 100644 --- a/PlayerTags/Features/TagTargetFeature.cs +++ b/PlayerTags/Features/TagTargetFeature.cs @@ -19,13 +19,13 @@ namespace PlayerTags.Features { private PluginConfiguration m_PluginConfiguration; - private ActivityContext m_ActivityContext; + private ActivityContext m_CurrentActivityContext; public TagTargetFeature(PluginConfiguration pluginConfiguration) { m_PluginConfiguration = pluginConfiguration; - m_ActivityContext = ActivityContext.Overworld; + m_CurrentActivityContext = ActivityContext.None; PluginServices.ClientState.TerritoryChanged += ClientState_TerritoryChanged; } @@ -41,7 +41,7 @@ namespace PlayerTags.Features private void ClientState_TerritoryChanged(object? sender, ushort e) { - m_ActivityContext = ActivityContext.Overworld; + m_CurrentActivityContext = ActivityContext.None; var contentFinderConditionsSheet = PluginServices.DataManager.GameData.GetExcelSheet(); if (contentFinderConditionsSheet != null) @@ -51,11 +51,11 @@ namespace PlayerTags.Features { if (foundContentFinderCondition.PvP) { - m_ActivityContext = ActivityContext.PvpDuty; + m_CurrentActivityContext = ActivityContext.PvpDuty; } else { - m_ActivityContext = ActivityContext.PveDuty; + m_CurrentActivityContext = ActivityContext.PveDuty; } } } @@ -69,143 +69,35 @@ namespace PlayerTags.Features /// A list of payloads for the given tag. protected IEnumerable GetPayloads(GameObject gameObject, Tag tag) { - // Only get payloads when in allowed activity contexts - if (!IsVisibleInActivity(tag)) + bool isVisibleForActivity = ActivityContextHelper.GetIsVisible(m_CurrentActivityContext, + tag.IsVisibleInPveDuties.InheritedValue ?? false, + tag.IsVisibleInPvpDuties.InheritedValue ?? false, + tag.IsVisibleInOverworld.InheritedValue ?? false); + + if (!isVisibleForActivity) { return Enumerable.Empty(); } - // Only get payloads for player characters for allowed player contexts - if (gameObject is PlayerCharacter playerCharacter && !IsVisibleForPlayer(tag, playerCharacter)) + if (gameObject is PlayerCharacter playerCharacter) { - return Enumerable.Empty(); + bool isVisibleForPlayer = PlayerContextHelper.GetIsVisible(playerCharacter, + tag.IsVisibleForSelf.InheritedValue ?? false, + tag.IsVisibleForFriendPlayers.InheritedValue ?? false, + tag.IsVisibleForPartyPlayers.InheritedValue ?? false, + tag.IsVisibleForAlliancePlayers.InheritedValue ?? false, + tag.IsVisibleForEnemyPlayers.InheritedValue ?? false, + tag.IsVisibleForOtherPlayers.InheritedValue ?? false); + + if (!isVisibleForPlayer) + { + return Enumerable.Empty(); + } } return CreatePayloads(gameObject, tag); } - private InheritableValue? GetInheritableVisibilityForActivity(Tag tag, ActivityContext activityContext) - { - switch (activityContext) - { - case ActivityContext.Overworld: - return tag.IsVisibleInOverworld; - case ActivityContext.PveDuty: - return tag.IsVisibleInPveDuties; - case ActivityContext.PvpDuty: - return tag.IsVisibleInPvpDuties; - } - - return null; - } - - private bool IsVisibleInActivity(Tag tag) - { - var inheritable = GetInheritableVisibilityForActivity(tag, m_ActivityContext); - if (inheritable == null) - { - return false; - } - - if (inheritable.InheritedValue == null || !inheritable.InheritedValue.Value) - { - return false; - } - - return true; - } - - private PlayerContext GetContextForPlayer(PlayerCharacter playerCharacter) - { - PlayerContext playerContext = PlayerContext.None; - - if (PluginServices.ClientState.LocalPlayer == playerCharacter) - { - playerContext |= PlayerContext.Self; - } - - if (playerCharacter.StatusFlags.HasFlag(StatusFlags.Friend)) - { - playerContext |= PlayerContext.Friend; - } - - if (playerCharacter.StatusFlags.HasFlag(StatusFlags.PartyMember)) - { - playerContext |= PlayerContext.Party; - } - - if (playerCharacter.StatusFlags.HasFlag(StatusFlags.AllianceMember)) - { - playerContext |= PlayerContext.Alliance; - } - - if (playerCharacter.StatusFlags.HasFlag(StatusFlags.Hostile)) - { - playerContext |= PlayerContext.Enemy; - } - - return playerContext; - } - - private bool IsVisibleForPlayer(Tag tag, PlayerCharacter playerCharacter) - { - var playerContext = GetContextForPlayer(playerCharacter); - - if (playerContext.HasFlag(PlayerContext.Self)) - { - if (tag.IsVisibleForSelf.InheritedValue == null || !tag.IsVisibleForSelf.InheritedValue.Value) - { - return false; - } - - return true; - } - - bool isVisible = false; - - if (playerContext.HasFlag(PlayerContext.Friend)) - { - if (tag.IsVisibleForFriendPlayers.InheritedValue != null) - { - isVisible |= tag.IsVisibleForFriendPlayers.InheritedValue.Value; - } - } - - if (playerContext.HasFlag(PlayerContext.Party)) - { - if (tag.IsVisibleForPartyPlayers.InheritedValue != null) - { - isVisible |= tag.IsVisibleForPartyPlayers.InheritedValue.Value; - } - } - - if (!playerContext.HasFlag(PlayerContext.Party) && playerContext.HasFlag(PlayerContext.Alliance)) - { - if (tag.IsVisibleForAlliancePlayers.InheritedValue != null) - { - isVisible |= tag.IsVisibleForAlliancePlayers.InheritedValue.Value; - } - } - - if (playerContext.HasFlag(PlayerContext.Enemy)) - { - if (tag.IsVisibleForEnemyPlayers.InheritedValue != null) - { - isVisible |= tag.IsVisibleForEnemyPlayers.InheritedValue.Value; - } - } - - if (playerContext == PlayerContext.None) - { - if (tag.IsVisibleForOtherPlayers.InheritedValue != null) - { - isVisible |= tag.IsVisibleForOtherPlayers.InheritedValue.Value; - } - } - - return isVisible; - } - private Payload[] CreatePayloads(GameObject gameObject, Tag tag) { List newPayloads = new List(); diff --git a/PlayerTags/Resources/Strings.Designer.cs b/PlayerTags/Resources/Strings.Designer.cs index 7d8c04b..f9e0dc4 100644 --- a/PlayerTags/Resources/Strings.Designer.cs +++ b/PlayerTags/Resources/Strings.Designer.cs @@ -249,6 +249,132 @@ namespace PlayerTags.Resources { } } + /// + /// Looks up a localized string similar to Show alliance members. + /// + public static string Loc_IsPlayersTabAllianceVisible { + get { + return ResourceManager.GetString("Loc_IsPlayersTabAllianceVisible", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show alliance members in the players list.. + /// + public static string Loc_IsPlayersTabAllianceVisible_Description { + get { + return ResourceManager.GetString("Loc_IsPlayersTabAllianceVisible_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show enemies. + /// + public static string Loc_IsPlayersTabEnemiesVisible { + get { + return ResourceManager.GetString("Loc_IsPlayersTabEnemiesVisible", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show enemies in the players list.. + /// + public static string Loc_IsPlayersTabEnemiesVisible_Description { + get { + return ResourceManager.GetString("Loc_IsPlayersTabEnemiesVisible_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show friends. + /// + public static string Loc_IsPlayersTabFriendsVisible { + get { + return ResourceManager.GetString("Loc_IsPlayersTabFriendsVisible", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show friends in the players list.. + /// + public static string Loc_IsPlayersTabFriendsVisible_Description { + get { + return ResourceManager.GetString("Loc_IsPlayersTabFriendsVisible_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Order by proximity. + /// + public static string Loc_IsPlayersTabOrderedByProximity { + get { + return ResourceManager.GetString("Loc_IsPlayersTabOrderedByProximity", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Players that are closer to the local player will be ordered towards the top.. + /// + public static string Loc_IsPlayersTabOrderedByProximity_Description { + get { + return ResourceManager.GetString("Loc_IsPlayersTabOrderedByProximity_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show others. + /// + public static string Loc_IsPlayersTabOthersVisible { + get { + return ResourceManager.GetString("Loc_IsPlayersTabOthersVisible", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show others in the players list.. + /// + public static string Loc_IsPlayersTabOthersVisible_Description { + get { + return ResourceManager.GetString("Loc_IsPlayersTabOthersVisible_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show party members. + /// + public static string Loc_IsPlayersTabPartyVisible { + get { + return ResourceManager.GetString("Loc_IsPlayersTabPartyVisible", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show party members in the players list.. + /// + public static string Loc_IsPlayersTabPartyVisible_Description { + get { + return ResourceManager.GetString("Loc_IsPlayersTabPartyVisible_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show self. + /// + public static string Loc_IsPlayersTabSelfVisible { + get { + return ResourceManager.GetString("Loc_IsPlayersTabSelfVisible", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show yourself in the players list.. + /// + public static string Loc_IsPlayersTabSelfVisible_Description { + get { + return ResourceManager.GetString("Loc_IsPlayersTabSelfVisible_Description", resourceCulture); + } + } + /// /// Looks up a localized string similar to Selected. /// @@ -276,24 +402,6 @@ namespace PlayerTags.Resources { } } - /// - /// Looks up a localized string similar to Sort by proximity. - /// - public static string Loc_IsSortedByProximity { - get { - return ResourceManager.GetString("Loc_IsSortedByProximity", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Players that are closer to the local player will be ordered towards the top.. - /// - public static string Loc_IsSortedByProximity_Description { - get { - return ResourceManager.GetString("Loc_IsSortedByProximity_Description", resourceCulture); - } - } - /// /// Looks up a localized string similar to Text italic. /// @@ -484,7 +592,7 @@ namespace PlayerTags.Resources { } /// - /// Looks up a localized string similar to Whether the tag should be visible in pvp duties.. + /// Looks up a localized string similar to Whether the tag should be visible in pve duties.. /// public static string Loc_IsVisibleInPveDuties_Description { get { @@ -501,6 +609,15 @@ namespace PlayerTags.Resources { } } + /// + /// Looks up a localized string similar to Whether the tag should be visible in pvp duties.. + /// + public static string Loc_IsVisibleInPvpDuties_Description { + get { + return ResourceManager.GetString("Loc_IsVisibleInPvpDuties_Description", resourceCulture); + } + } + /// /// Looks up a localized string similar to Free company. /// @@ -888,15 +1005,6 @@ namespace PlayerTags.Resources { } } - /// - /// Looks up a localized string similar to Party. - /// - public static string Loc_Static_Party { - get { - return ResourceManager.GetString("Loc_Static_Party", resourceCulture); - } - } - /// /// Looks up a localized string similar to Player. /// @@ -906,6 +1014,15 @@ namespace PlayerTags.Resources { } } + /// + /// Looks up a localized string similar to Players. + /// + public static string Loc_Static_Players { + get { + return ResourceManager.GetString("Loc_Static_Players", resourceCulture); + } + } + /// /// Looks up a localized string similar to Player Tags. /// @@ -915,15 +1032,6 @@ namespace PlayerTags.Resources { } } - /// - /// Looks up a localized string similar to Proximity. - /// - public static string Loc_Static_Proximity { - get { - return ResourceManager.GetString("Loc_Static_Proximity", resourceCulture); - } - } - /// /// Looks up a localized string similar to Remove this custom tag.. /// diff --git a/PlayerTags/Resources/Strings.resx b/PlayerTags/Resources/Strings.resx index 0b69842..205c7ab 100644 --- a/PlayerTags/Resources/Strings.resx +++ b/PlayerTags/Resources/Strings.resx @@ -126,11 +126,8 @@ General - - Party - - - Proximity + + Players Tagged Players @@ -480,10 +477,52 @@ Whether the tag should be visible for players in other circumstances for which there is no specific option. - - Sort by proximity + + Order by proximity - + Players that are closer to the local player will be ordered towards the top. + + + Show self + + + Show yourself in the players list. + + + + Show friends + + + Show friends in the players list. + + + + Show party members + + + Show party members in the players list. + + + + Show alliance members + + + Show alliance members in the players list. + + + + Show enemies + + + Show enemies in the players list. + + + + Show others + + + Show others in the players list. + \ No newline at end of file