feat(debugger): reactivate PayloadHandler counters (R3)
K reactivates the debugger's PayloadHandler counter readout (HandleTooltips / HoveredItem / HoverCounter / LastHoverCounter — populated in E1's PayloadHandler skeleton). PayloadHandler injected via DI-extended ctor; class flipped to internal sealed to match PayloadHandler's internal visibility and avoid CS0051. Plugin.cs property updated public → internal accordingly (same pattern as I/J). Last Phase-3 window sub-task before A2 (Lender + handler.Draw fix), J2 (InputBar slash-callback), Polish-Sweep, and Smoke-Gate.
This commit is contained in:
@@ -102,7 +102,7 @@ public sealed class Plugin : IAsyncDalamudPlugin
|
||||
internal CommandHelpWindow CommandHelpWindow { get; private set; } = null!;
|
||||
public SeStringDebugger SeStringDebugger { get; private set; } = null!;
|
||||
public FirstRunWizard FirstRunWizard { get; private set; } = null!;
|
||||
public DebuggerWindow DebuggerWindow { get; private set; } = null!;
|
||||
internal DebuggerWindow DebuggerWindow { get; private set; } = null!;
|
||||
|
||||
internal Commands Commands { get; private set; } = null!;
|
||||
internal GameFunctions.GameFunctions Functions { get; private set; } = null!;
|
||||
|
||||
@@ -292,7 +292,10 @@ internal static class PluginHostFactory
|
||||
sp.GetRequiredService<ILogger<CommandHelpWindow>>()
|
||||
));
|
||||
services.AddSingleton(sp => new SeStringDebugger(sp.GetRequiredService<Plugin>()));
|
||||
services.AddSingleton(sp => new DebuggerWindow(sp.GetRequiredService<Plugin>()));
|
||||
services.AddSingleton(sp => new DebuggerWindow(
|
||||
sp.GetRequiredService<Plugin>(),
|
||||
sp.GetRequiredService<PayloadHandler>()
|
||||
));
|
||||
services.AddSingleton(sp => new FirstRunWizard(sp.GetRequiredService<Plugin>()));
|
||||
|
||||
// Hosted-service adapters: thin wrappers around the existing init
|
||||
|
||||
@@ -11,16 +11,16 @@ namespace HellionChat.Ui;
|
||||
|
||||
// Dev tool. Reduced to the parts that survive without the legacy chat
|
||||
// window: current-tab channel state and the vanilla chat channel label.
|
||||
// The chat-window cursor and payload-handler counters come back once the
|
||||
// new chat layer surfaces equivalent state.
|
||||
public class DebuggerWindow : Window, IDisposable
|
||||
internal sealed class DebuggerWindow : Window, IDisposable
|
||||
{
|
||||
private readonly Plugin Plugin;
|
||||
private readonly PayloadHandler _payloadHandler;
|
||||
|
||||
public DebuggerWindow(Plugin plugin)
|
||||
public DebuggerWindow(Plugin plugin, PayloadHandler payloadHandler)
|
||||
: base("Debugger###chat2-debugger")
|
||||
{
|
||||
Plugin = plugin;
|
||||
_payloadHandler = payloadHandler;
|
||||
|
||||
SizeConstraints = new WindowSizeConstraints
|
||||
{
|
||||
@@ -41,7 +41,10 @@ public class DebuggerWindow : Window, IDisposable
|
||||
ImGui.SetClipboardText(agent.ToString("X"));
|
||||
|
||||
ImGuiHelpers.ScaledDummy(5.0f);
|
||||
ImGui.TextDisabled("Payload handler counters: offline during the chat rebuild.");
|
||||
ImGui.TextUnformatted($"Handle Tooltips: {_payloadHandler.HandleTooltips}");
|
||||
ImGui.TextUnformatted($"Hovered Item: {_payloadHandler.HoveredItem}");
|
||||
ImGui.TextUnformatted($"Hover Counter: {_payloadHandler.HoverCounter}");
|
||||
ImGui.TextUnformatted($"Last Hover Counter: {_payloadHandler.LastHoverCounter}");
|
||||
|
||||
ImGuiHelpers.ScaledDummy(5.0f);
|
||||
ImGui.TextColored(ImGuiColors.DalamudOrange, "Current Tab");
|
||||
|
||||
Reference in New Issue
Block a user