Fixed merge conflicts.

This commit is contained in:
cake
2025-12-28 16:48:51 +01:00
parent 1a73d5a4d9
commit 9e600bfae0
2 changed files with 81 additions and 89 deletions

View File

@@ -37,6 +37,7 @@ public class LightFinderUI : WindowMediatorSubscriberBase
private readonly LightFinderService _broadcastService;
private readonly LightlessConfigService _configService;
private readonly LightlessProfileManager _lightlessProfileManager;
private readonly LightFinderPlateHandler _lightFinderPlateHandler;
private readonly PairUiService _pairUiService;
private readonly UiSharedService _uiSharedService;
@@ -100,7 +101,8 @@ public class LightFinderUI : WindowMediatorSubscriberBase
DalamudUtilService dalamudUtilService,
LightlessProfileManager lightlessProfileManager,
ActorObjectService actorObjectService
) : base(logger, mediator, "Lightfinder###LightlessLightfinderUI", performanceCollectorService)
,
LightFinderPlateHandler lightFinderPlateHandler) : base(logger, mediator, "Lightfinder###LightlessLightfinderUI", performanceCollectorService)
{
_broadcastService = broadcastService;
_uiSharedService = uiShared;
@@ -126,6 +128,7 @@ public class LightFinderUI : WindowMediatorSubscriberBase
Mediator.Subscribe<BroadcastStatusChangedMessage>(this, async _ => await RefreshNearbySyncshellsAsync().ConfigureAwait(false));
Mediator.Subscribe<UserLeftSyncshell>(this, async _ => await RefreshNearbySyncshellsAsync(_.gid).ConfigureAwait(false));
Mediator.Subscribe<UserJoinedSyncshell>(this, async _ => await RefreshNearbySyncshellsAsync(_.gid).ConfigureAwait(false));
_lightFinderPlateHandler = lightFinderPlateHandler;
}
#endregion
@@ -1377,96 +1380,94 @@ public class LightFinderUI : WindowMediatorSubscriberBase
ImGui.PopStyleVar();
}
#endregion
private void DrawDebugTab()
{
#if DEBUG
if (ImGui.BeginTabItem("Debug"))
if (ImGui.CollapsingHeader("LightFinder Plates", ImGuiTreeNodeFlags.DefaultOpen))
{
var h = _lightFinderPlateHandler;
var enabled = h.DebugEnabled;
if (ImGui.Checkbox("Enable LightFinder debug", ref enabled))
h.DebugEnabled = enabled;
if (h.DebugEnabled)
{
if (ImGui.CollapsingHeader("LightFinder Plates", ImGuiTreeNodeFlags.DefaultOpen))
{
var h = _lightFinderPlateHandler;
ImGui.Indent();
var enabled = h.DebugEnabled;
if (ImGui.Checkbox("Enable LightFinder debug", ref enabled))
h.DebugEnabled = enabled;
var disableOcc = h.DebugDisableOcclusion;
if (ImGui.Checkbox("Disable occlusion (force draw)", ref disableOcc))
h.DebugDisableOcclusion = disableOcc;
if (h.DebugEnabled)
{
ImGui.Indent();
var drawUiRects = h.DebugDrawUiRects;
if (ImGui.Checkbox("Draw UI rects", ref drawUiRects))
h.DebugDrawUiRects = drawUiRects;
var disableOcc = h.DebugDisableOcclusion;
if (ImGui.Checkbox("Disable occlusion (force draw)", ref disableOcc))
h.DebugDisableOcclusion = disableOcc;
var drawUiRects = h.DebugDrawUiRects;
if (ImGui.Checkbox("Draw UI rects", ref drawUiRects))
h.DebugDrawUiRects = drawUiRects;
var drawLabelRects = h.DebugDrawLabelRects;
if (ImGui.Checkbox("Draw label rects", ref drawLabelRects))
h.DebugDrawLabelRects = drawLabelRects;
ImGui.Separator();
ImGui.TextUnformatted($"Labels last frame: {h.DebugLabelCountLastFrame}");
ImGui.TextUnformatted($"UI rects last frame: {h.DebugUiRectCountLastFrame}");
ImGui.TextUnformatted($"Occluded last frame: {h.DebugOccludedCountLastFrame}");
ImGui.TextUnformatted($"Last NamePlate frame: {h.DebugLastNameplateFrame}");
ImGui.Unindent();
}
}
var drawLabelRects = h.DebugDrawLabelRects;
if (ImGui.Checkbox("Draw label rects", ref drawLabelRects))
h.DebugDrawLabelRects = drawLabelRects;
ImGui.Separator();
ImGui.TextUnformatted($"Labels last frame: {h.DebugLabelCountLastFrame}");
ImGui.TextUnformatted($"UI rects last frame: {h.DebugUiRectCountLastFrame}");
ImGui.TextUnformatted($"Occluded last frame: {h.DebugOccludedCountLastFrame}");
ImGui.TextUnformatted($"Last NamePlate frame: {h.DebugLastNameplateFrame}");
ImGui.Text("Broadcast Cache");
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);
ImGui.TableSetupColumn("Expires In", ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupColumn("Syncshell GID", ImGuiTableColumnFlags.WidthStretch);
ImGui.TableHeadersRow();
var now = DateTime.UtcNow;
foreach (var (cid, entry) in _broadcastScannerService.BroadcastCache)
{
ImGui.TableNextRow();
ImGui.TableNextColumn();
ImGui.TextUnformatted(cid.Truncate(12));
if (ImGui.IsItemHovered())
ImGui.SetTooltip(cid);
ImGui.TableNextColumn();
var colorBroadcast = entry.IsBroadcasting ? UIColors.Get("LightlessGreen") : UIColors.Get("DimRed");
ImGui.TableSetBgColor(ImGuiTableBgTarget.CellBg, ImGui.GetColorU32(colorBroadcast));
ImGui.TextUnformatted(entry.IsBroadcasting.ToString());
ImGui.TableNextColumn();
var remaining = entry.ExpiryTime - now;
var colorTtl = remaining <= TimeSpan.Zero ? UIColors.Get("DimRed")
: remaining < TimeSpan.FromSeconds(10) ? UIColors.Get("LightlessYellow")
: (Vector4?)null;
if (colorTtl != null)
ImGui.TableSetBgColor(ImGuiTableBgTarget.CellBg, ImGui.GetColorU32(colorTtl.Value));
ImGui.TextUnformatted(remaining > TimeSpan.Zero ? remaining.ToString("hh\\:mm\\:ss") : "Expired");
ImGui.TableNextColumn();
ImGui.TextUnformatted(entry.GID ?? "-");
ImGui.Unindent();
}
}
ImGui.EndTable();
}
ImGui.Separator();
ImGui.Text("Broadcast Cache");
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);
ImGui.TableSetupColumn("Expires In", ImGuiTableColumnFlags.WidthStretch);
ImGui.TableSetupColumn("Syncshell GID", ImGuiTableColumnFlags.WidthStretch);
ImGui.TableHeadersRow();
var now = DateTime.UtcNow;
foreach (var (cid, entry) in _broadcastScannerService.BroadcastCache)
{
ImGui.TableNextRow();
ImGui.TableNextColumn();
ImGui.TextUnformatted(cid.Truncate(12));
if (ImGui.IsItemHovered())
ImGui.SetTooltip(cid);
ImGui.TableNextColumn();
var colorBroadcast = entry.IsBroadcasting ? UIColors.Get("LightlessGreen") : UIColors.Get("DimRed");
ImGui.TableSetBgColor(ImGuiTableBgTarget.CellBg, ImGui.GetColorU32(colorBroadcast));
ImGui.TextUnformatted(entry.IsBroadcasting.ToString());
ImGui.TableNextColumn();
var remaining = entry.ExpiryTime - now;
var colorTtl = remaining <= TimeSpan.Zero ? UIColors.Get("DimRed")
: remaining < TimeSpan.FromSeconds(10) ? UIColors.Get("LightlessYellow")
: (Vector4?)null;
if (colorTtl != null)
ImGui.TableSetBgColor(ImGuiTableBgTarget.CellBg, ImGui.GetColorU32(colorTtl.Value));
ImGui.TextUnformatted(remaining > TimeSpan.Zero ? remaining.ToString("hh\\:mm\\:ss") : "Expired");
ImGui.TableNextColumn();
ImGui.TextUnformatted(entry.GID ?? "-");
}
ImGui.EndTable();
}
#endif
}
#endregion
#endif
#region Data Refresh