Merge branch '2.0.0' into dotnet10-api14-migration

This commit is contained in:
defnotken
2025-11-26 16:20:38 -06:00
116 changed files with 20468 additions and 3311 deletions

View File

@@ -1,6 +1,6 @@
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Plugin.Services;
using Dalamud.Plugin.Services;
using LightlessSync.API.Dto.User;
using LightlessSync.Services.ActorTracking;
using LightlessSync.Services.Mediator;
using Microsoft.Extensions.Logging;
using System.Collections.Concurrent;
@@ -10,7 +10,7 @@ namespace LightlessSync.Services;
public class BroadcastScannerService : DisposableMediatorSubscriberBase
{
private readonly ILogger<BroadcastScannerService> _logger;
private readonly IObjectTable _objectTable;
private readonly ActorObjectService _actorTracker;
private readonly IFramework _framework;
private readonly BroadcastService _broadcastService;
@@ -45,7 +45,7 @@ public class BroadcastScannerService : DisposableMediatorSubscriberBase
NameplateHandler nameplateHandler) : base(logger, mediator)
{
_logger = logger;
_objectTable = objectTable;
_actorTracker = actorTracker;
_broadcastService = broadcastService;
_nameplateHandler = nameplateHandler;
@@ -71,12 +71,12 @@ public class BroadcastScannerService : DisposableMediatorSubscriberBase
var now = DateTime.UtcNow;
foreach (var obj in _objectTable)
foreach (var address in _actorTracker.PlayerAddresses)
{
if (obj is not IPlayerCharacter player || player.Address == IntPtr.Zero)
if (address == nint.Zero)
continue;
var cid = DalamudUtilService.GetHashedCIDFromPlayerPointer(player.Address);
var cid = DalamudUtilService.GetHashedCIDFromPlayerPointer(address);
var isStale = !_broadcastCache.TryGetValue(cid, out var entry) || entry.ExpiryTime <= now;
if (isStale && _lookupQueuedCids.Add(cid) && _lookupQueue.Count < MaxQueueSize)
@@ -240,6 +240,8 @@ public class BroadcastScannerService : DisposableMediatorSubscriberBase
_cleanupCts.Cancel();
_cleanupCts.Dispose();
_cleanupTask?.Wait(100);
_cleanupCts.Dispose();
_nameplateHandler.Uninit();
}
}