private void TryGetIcon(InventorySlotAmmo item, RadialItem radialItem) { if (m_retrievedIcons.ContainsKey(item.Slot)) { return; } if (item.Slot == InventorySlot.GearMelee || item.Slot == InventorySlot.GearSpecial || item.Slot == InventorySlot.GearStandard || item.Slot == InventorySlot.GearClass) { if (PlayerBackpackManager.LocalBackpack.TryGetBackpackItem(item.Slot, out BackpackItem bp)) { if (bp == null || bp.Instance == null) { Log.Debug($"Got null BP or instance for {item.Slot}"); return; } ItemEquippable equippable = bp.Instance.Cast <ItemEquippable>(); if (equippable == null || equippable.GearIDRange == null) { Log.Debug("Equippable was null or GearIDRange was null when retrieving icon!"); return; } if (GearIconRendering.TryGetGearIconSprite(equippable.GearIDRange.GetChecksum(), out Sprite icon)) { if (icon == null) { m_retrievedIcons[item.Slot] = null; Log.Debug($"Failed to retrieve icon for {equippable.ArchetypeName}"); return; } m_retrievedIcons[item.Slot] = icon; if (item.Slot == InventorySlot.GearMelee) { radialItem.SetIcon(icon, 1.5f); } else { radialItem.SetIcon(icon); } Log.Debug($"Retrieved icon for {equippable.ArchetypeName}!"); } else { m_retrievedIcons[item.Slot] = null; Log.Debug($"Failed to retrieve icon for {equippable.ArchetypeName}"); } } } }