Use typed durability for inventory HUD tint
This commit is contained in:
parent
4c7da3b3d6
commit
8f53140196
3 changed files with 12 additions and 2 deletions
|
|
@ -817,7 +817,7 @@ public class InventoryPanel : MonoBehaviour, IPointerClickHandler
|
|||
if (_displayedEntity.Armor[position.x, position.y] > .01f)
|
||||
return Settings.ArmorGradient.Evaluate(_displayedEntity.Armor[position.x, position.y] / _displayedEntity.MaxArmor[position.x, position.y]);
|
||||
|
||||
if (item != null) return Settings.DurabilityGradient.Evaluate(item.Durability / _displayedEntity.ItemManager.GetData(item).Durability);
|
||||
if (item != null) return Settings.DurabilityGradient.Evaluate(item.Durability / GetMaxDurability(item));
|
||||
return float3(.25f).ToColor();
|
||||
}
|
||||
|
||||
|
|
@ -873,6 +873,15 @@ public class InventoryPanel : MonoBehaviour, IPointerClickHandler
|
|||
Enum.TryParse(typedItem.HardpointType, true, out hardpointType);
|
||||
}
|
||||
|
||||
private float GetMaxDurability(ItemInstance item)
|
||||
{
|
||||
var typedItem = FindTypedInventoryItem(item);
|
||||
if (typedItem != null && typedItem.Durability > 0)
|
||||
return (float)typedItem.Durability;
|
||||
|
||||
return _displayedEntity.ItemManager.GetData(item).Durability;
|
||||
}
|
||||
|
||||
private static AetheriaRuntimeCatalogItem FindTypedInventoryItem(ItemInstance item)
|
||||
{
|
||||
var itemId = item?.Data?.ItemId ?? Guid.Empty;
|
||||
|
|
|
|||
Loading…
Reference in a new issue