Add Generic Helper (#2403)
Some checks failed
Tag Build / Tag Build (push) Successful in 3s
Build Dalamud / Build on Windows (push) Has been cancelled
Build Dalamud / Check API Compatibility (push) Has been cancelled
Build Dalamud / Deploy dalamud-distrib staging (push) Has been cancelled

This commit is contained in:
MidoriKami 2025-09-09 00:53:38 -07:00 committed by GitHub
parent 0047e24031
commit f07b308757
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 19 additions and 2 deletions

View file

@ -182,6 +182,10 @@ internal sealed unsafe class GameGui : IInternalDisposableService, IGameGui
return (nint)unitManager->GetAddonByName(name, index);
}
/// <inheritdoc/>
public T* GetAddonByName<T>(string name, int index = 1) where T : unmanaged
=> (T*)this.GetAddonByName(name, index).Address;
/// <inheritdoc/>
public AgentInterfacePtr GetAgentById(int id)
{
@ -328,7 +332,7 @@ internal sealed unsafe class GameGui : IInternalDisposableService, IGameGui
return retVal;
}
private unsafe void SetUiVisibilityDetour(RaptureAtkModule* thisPtr, bool uiVisible)
private void SetUiVisibilityDetour(RaptureAtkModule* thisPtr, bool uiVisible)
{
this.setUiVisibilityHook.Original(thisPtr, uiVisible);
@ -441,6 +445,10 @@ internal class GameGuiPluginScoped : IInternalDisposableService, IGameGui
public AtkUnitBasePtr GetAddonByName(string name, int index = 1)
=> this.gameGuiService.GetAddonByName(name, index);
/// <inheritdoc/>
public unsafe T* GetAddonByName<T>(string name, int index = 1) where T : unmanaged
=> (T*)this.gameGuiService.GetAddonByName(name, index).Address;
/// <inheritdoc/>
public AgentInterfacePtr GetAgentById(int id)
=> this.gameGuiService.GetAgentById(id);