fix: handle key items and collectibles

This commit is contained in:
Anna
2022-02-01 16:46:46 -05:00
parent de5b303324
commit 2af0466d94
2 changed files with 66 additions and 13 deletions
+12
View File
@@ -9,9 +9,11 @@ internal class TextureCache : IDisposable {
private readonly Dictionary<(uint, bool), TextureWrap> _itemIcons = new();
private readonly Dictionary<(uint, bool), TextureWrap> _statusIcons = new();
private readonly Dictionary<(uint, bool), TextureWrap> _eventItemIcons = new();
internal IReadOnlyDictionary<(uint, bool), TextureWrap> ItemIcons => this._itemIcons;
internal IReadOnlyDictionary<(uint, bool), TextureWrap> StatusIcons => this._statusIcons;
internal IReadOnlyDictionary<(uint, bool), TextureWrap> EventItemIcons => this._eventItemIcons;
internal TextureCache(DataManager data) {
this.Data = data;
@@ -47,6 +49,10 @@ internal class TextureCache : IDisposable {
this.AddIcon(this._statusIcons, status.Icon);
}
internal void AddEventItem(EventItem item) {
this.AddIcon(this._eventItemIcons, item.Icon);
}
internal TextureWrap? GetItem(Item item, bool hq = false) {
this.AddItem(item, hq);
this.ItemIcons.TryGetValue((item.Icon, hq), out var icon);
@@ -58,4 +64,10 @@ internal class TextureCache : IDisposable {
this.StatusIcons.TryGetValue((status.Icon, false), out var icon);
return icon;
}
internal TextureWrap? GetEventItem(EventItem item) {
this.AddEventItem(item);
this.EventItemIcons.TryGetValue((item.Icon, false), out var icon);
return icon;
}
}