seperate scanning service not relying on nameplate updates & other improvements/fixes

This commit is contained in:
2025-09-24 22:28:32 +09:00
parent d91f1a3356
commit 7569b15993
8 changed files with 253 additions and 252 deletions

View File

@@ -17,7 +17,7 @@ namespace LightlessSync.UI
private readonly LightlessConfigService _configService;
private readonly BroadcastService _broadcastService;
private readonly UiSharedService _uiSharedService;
private readonly NameplateService _nameplateService;
private readonly BroadcastScannerService _broadcastScannerService;
private IReadOnlyList<GroupFullInfoDto> _allSyncshells;
private string _userUid = string.Empty;
@@ -32,20 +32,20 @@ namespace LightlessSync.UI
LightlessConfigService configService,
UiSharedService uiShared,
ApiController apiController,
NameplateService nameplateService
BroadcastScannerService broadcastScannerService
) : base(logger, mediator, "Lightfinder###LightlessLightfinderUI", performanceCollectorService)
{
_broadcastService = broadcastService;
_uiSharedService = uiShared;
_configService = configService;
_apiController = apiController;
_nameplateService = nameplateService;
_broadcastScannerService = broadcastScannerService;
IsOpen = false;
this.SizeConstraints = new()
{
MinimumSize = new(590, 340),
MaximumSize = new(590, 340)
MinimumSize = new(600, 340),
MaximumSize = new(750, 400)
};
mediator.Subscribe<RefreshUiMessage>(this, async _ => await RefreshSyncshells());
@@ -126,9 +126,7 @@ namespace LightlessSync.UI
{
if (!_broadcastService.IsLightFinderAvailable)
{
ImGui.PushStyleColor(ImGuiCol.Text, UIColors.Get("LightlessYellow"));
ImGui.TextWrapped("This server doesn't support LightFinder.");
ImGui.PopStyleColor();
_uiSharedService.MediumText("This server doesn't support Lightfinder.", UIColors.Get("LightlessYellow"));
ImGuiHelpers.ScaledDummy(0.25f);
}
@@ -203,7 +201,7 @@ namespace LightlessSync.UI
else
ImGui.PushStyleColor(ImGuiCol.Button, UIColors.Get("PairBlue"));
if (isOnCooldown)
if (isOnCooldown || !_broadcastService.IsLightFinderAvailable)
ImGui.BeginDisabled();
string buttonText = isBroadcasting ? "Disable Lightfinder" : "Enable Lightfinder";
@@ -213,7 +211,7 @@ namespace LightlessSync.UI
_broadcastService.ToggleBroadcast();
}
if (isOnCooldown)
if (isOnCooldown || !_broadcastService.IsLightFinderAvailable)
ImGui.EndDisabled();
ImGui.PopStyleColor();
@@ -316,7 +314,7 @@ namespace LightlessSync.UI
{
ImGui.Text("Broadcast Cache");
if (ImGui.BeginTable("##BroadcastCacheTable", 4, ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders | ImGuiTableFlags.ScrollY, new Vector2(-1, 200f)))
if (ImGui.BeginTable("##BroadcastCacheTable", 4, ImGuiTableFlags.RowBg | ImGuiTableFlags.Borders | ImGuiTableFlags.ScrollY, new Vector2(-1, 225f)))
{
ImGui.TableSetupColumn("CID", ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupColumn("IsBroadcasting", ImGuiTableColumnFlags.WidthStretch);
@@ -326,7 +324,7 @@ namespace LightlessSync.UI
var now = DateTime.UtcNow;
foreach (var (cid, entry) in _nameplateService.BroadcastCache)
foreach (var (cid, entry) in _broadcastScannerService.BroadcastCache)
{
ImGui.TableNextRow();