From 93fac6efb01a1272192d929fd863328271512ea4 Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Wed, 3 Jul 2024 18:58:01 +0200 Subject: [PATCH] API 10 --- IconCache.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/IconCache.cs b/IconCache.cs index fc94605..4291b7b 100644 --- a/IconCache.cs +++ b/IconCache.cs @@ -17,14 +17,15 @@ public sealed class IconCache : IDisposable _textureProvider = textureProvider; } - public ISharedImmediateTexture GetIcon(uint iconId) + public IDalamudTextureWrap? GetIcon(uint iconId) { - if (_textureWraps.TryGetValue(iconId, out ISharedImmediateTexture? iconTex)) - return iconTex; + if (!_textureWraps.TryGetValue(iconId, out ISharedImmediateTexture? iconTex)) + { + iconTex = _textureProvider.GetFromGameIcon(new GameIconLookup(iconId)); + _textureWraps[iconId] = iconTex; + } - iconTex = _textureProvider.GetFromGameIcon(new GameIconLookup(iconId)); - _textureWraps[iconId] = iconTex; - return iconTex; + return iconTex.TryGetWrap(out IDalamudTextureWrap? wrap, out _) ? wrap : null; } public void Dispose()