Improve layout

This commit is contained in:
Zeffuro
2025-12-20 09:21:44 +01:00
parent 659c295c16
commit 592fa392bf
10 changed files with 449 additions and 65 deletions
@@ -0,0 +1,54 @@
using System.Collections.Generic;
using System.Linq;
using AetherBags;
using Dalamud.Game.Addon.Lifecycle;
using Dalamud.Game.Addon.Lifecycle.AddonArgTypes;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Component.GUI;
public static class AddonLifecycleExtensions {
extension(IAddonLifecycle addonLifecycle) {
public void LogAddon(string addonName, params AddonEvent[] loggedModules) {
if (loggedModules.Length is 0) {
loggedModules = [
AddonEvent.PostSetup,
AddonEvent.PostOpen,
AddonEvent.PostClose,
AddonEvent.PostShow,
AddonEvent.PostHide,
AddonEvent.PostRefresh,
AddonEvent.PostRequestedUpdate,
AddonEvent.PreFinalize,
];
}
ActiveLoggers.TryAdd(addonName, loggedModules.ToList());
foreach (var loggedModule in loggedModules) {
addonLifecycle.RegisterListener(loggedModule, addonName, Logger);
}
}
public void UnLogAddon(string addonName) {
if (!ActiveLoggers.TryGetValue(addonName, out var loggedModules)) return;
foreach (var loggedModule in loggedModules) {
addonLifecycle.UnregisterListener(loggedModule, addonName, Logger);
}
}
}
private static readonly Dictionary<string, List<AddonEvent>> ActiveLoggers = [];
private static void Logger(AddonEvent type, AddonArgs args) {
switch (args) {
case AddonReceiveEventArgs receiveEventArgs:
Services.Logger.Debug($"[{args.AddonName}] {(AtkEventType)receiveEventArgs.AtkEventType}: {receiveEventArgs.EventParam}");
break;
default:
Services.Logger.Debug($"{args.AddonName} called {type.ToString().Replace("Post", string.Empty)}");
break;
}
}
}