Files
AetherBags/KamiToolKit/Classes/Experimental.cs
T
KnackAtNite 8db4ce6094
Debug Build and Test / Build against Latest Dalamud (push) Has been cancelled
Debug Build and Test / Build against Staging Dalamud (push) Has been cancelled
Initial commit: AetherBags + KamiToolKit for FC Gitea
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 14:46:31 -05:00

40 lines
1.4 KiB
C#

using System.Diagnostics;
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
namespace KamiToolKit.Classes;
/// WARNING: These features are potentially extremely volatile, use at your own risk.
public unsafe class Experimental {
private static Experimental? instance;
public static Experimental Instance => instance ??= new Experimental();
public void EnableHooks() { }
public void DisposeHooks() {
}
// WARNING: May result in undefined state or accidental network requests
// Use at your own risk.
[Conditional("DEBUG")]
public static void ForceOpenAddon(AgentId agentId, int delayTicks = 0) {
if (delayTicks is not 0) {
DalamudInterface.Instance.Framework.RunOnTick(() => {
AgentModule.Instance()->GetAgentByInternalId(agentId)->Show();
}, delayTicks: delayTicks);
}
else {
DalamudInterface.Instance.Framework.RunOnFrameworkThread(() => {
AgentModule.Instance()->GetAgentByInternalId(agentId)->Show();
});
}
}
// WARNING: May result in undefined state or accidental network requests
// Use at your own risk.
[Conditional("DEBUG")]
public static void ForceCloseAddon(AgentId agentId)
=> DalamudInterface.Instance.Framework.RunOnFrameworkThread(() => {
AgentModule.Instance()->GetAgentByInternalId(agentId)->Hide();
});
}