pair button now has additional checks to show if the user isnt directly paired, and only shows if your own lightfinder is on #74

Merged
defnotken merged 2 commits from direct-pair-button into 1.12.4 2025-11-06 17:13:23 +00:00

View File

@@ -98,7 +98,7 @@ internal class ContextMenuService : IHostedService
if (targetData == null || targetData.Address == nint.Zero) if (targetData == null || targetData.Address == nint.Zero)
return; return;
//Check if user is paired or is own. //Check if user is directly paired or is own.
if (VisibleUserIds.Any(u => u == target.TargetObjectId) || _clientState.LocalPlayer.GameObjectId == target.TargetObjectId) if (VisibleUserIds.Any(u => u == target.TargetObjectId) || _clientState.LocalPlayer.GameObjectId == target.TargetObjectId)
return; return;
@@ -116,7 +116,7 @@ internal class ContextMenuService : IHostedService
args.AddMenuItem(new MenuItem args.AddMenuItem(new MenuItem
{ {
Name = "Send Pair Request", Name = "Send Direct Pair Request",
PrefixChar = 'L', PrefixChar = 'L',
UseDefaultPrefix = false, UseDefaultPrefix = false,
PrefixColor = 708, PrefixColor = 708,
@@ -159,7 +159,7 @@ internal class ContextMenuService : IHostedService
} }
} }
private HashSet<ulong> VisibleUserIds => [.. _pairManager.GetOnlineUserPairs() private HashSet<ulong> VisibleUserIds => [.. _pairManager.DirectPairs
.Where(u => u.IsVisible && u.PlayerCharacterId != uint.MaxValue) .Where(u => u.IsVisible && u.PlayerCharacterId != uint.MaxValue)
.Select(u => (ulong)u.PlayerCharacterId)]; .Select(u => (ulong)u.PlayerCharacterId)];