private void AddDamageStat(float minValue, float maxValue, ItemEquipment.EquipmentSlot equipmentSlot) { if (sb.Length > 0) { sb.AppendLine(); } if (equipmentSlot == ItemEquipment.EquipmentSlot.WeaponRightHand) { sb.Append("One hand damage: "); } else if (equipmentSlot == ItemEquipment.EquipmentSlot.WeaponRightHand) { sb.Append("Two hands damage: "); } if (minValue == maxValue) { sb.Append($"{minValue}."); } else if (maxValue > minValue) { sb.Append($"{minValue}-{maxValue}."); } }
public void UnequipItem(ItemEquipment.EquipmentSlot itemSlot) { int slotIndex = (int)itemSlot; var oldItem = equippedItems[slotIndex]; if (!oldItem) { Debug.LogError($"Any item on item slot {itemSlot} is not equipped."); return; } equippedItems[slotIndex] = null; onEquipmentChanged?.Invoke(null, oldItem); inventoryManager.Add(new ItemStack { item = oldItem, count = 1 }); if (oldItem is ItemArmor) { PlayerManager.Instance.playerAppearance.HideArmorPiece(oldItem as ItemArmor); PlayerManager.Instance.playerAppearance.ShowBodyPart(oldItem as ItemArmor); } else if (oldItem is ItemWeaponBase) { PlayerManager.Instance.playerAppearance.DetachWeapon(oldItem.equipmentSlot); } }
public void DetachWeapon(ItemEquipment.EquipmentSlot equipmentSlot) { if (equipmentSlot == ItemEquipment.EquipmentSlot.WeaponRightHand) { Destroy(equippedWeapon); } else { Destroy(equippedShield); } }