using Dalamud.Interface.Textures; namespace HellionChat.Branding; // UI sibling of HellionForgeAscii.FoxMini: the embedded Hellion Forge fox // banner PNG. Uses ITextureProvider.GetFromManifestResource, a "Get" shared // texture, so Dalamud owns the cache and lifetime. No manual dispose, no async // handling in the plugin. Static to mirror HellionForgeAscii (zero injectable // deps; Plugin.TextureProvider is a static [PluginService]). internal static class FoxBannerTexture { private const string ResourceName = "HellionChat.Branding.fox-banner.png"; // Resolved fresh on every access. Dalamud keeps the shared texture cached // internally and decodes it asynchronously, so GetWrapOrDefault() returns // null for the first few frames until the decode finishes. public static ISharedImmediateTexture Shared => Plugin.TextureProvider.GetFromManifestResource( typeof(FoxBannerTexture).Assembly, ResourceName ); }