| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- using UnityEngine;
- public enum ItemType
- {
- Consumable,
- Weapon,
- Armor,
- Quest,
- Misc
- }
- public enum ConsumableEffect
- {
- None,
- RestoreStamina,
- RestoreHealth,
- RestoreBoth
- }
- [System.Serializable]
- public class InventoryItem
- {
- public string itemName;
- public Sprite icon;
- public int quantity;
- public ItemType itemType = ItemType.Misc;
- public ConsumableEffect consumableEffect = ConsumableEffect.None;
- public int effectAmount = 20; // Amount of stamina/HP restored
-
- public void Use(CharacterInGroup character)
- {
- if (itemType != ItemType.Consumable) return;
-
- switch (consumableEffect)
- {
- case ConsumableEffect.RestoreStamina:
- character.currentFatigue = Mathf.Min(character.maxFatigue, character.currentFatigue + effectAmount);
- UIUpdater.Instance?.UpdateCharacterFatigue(character);
- break;
-
- case ConsumableEffect.RestoreHealth:
- character.currentHP = Mathf.Min(character.maxHP, character.currentHP + effectAmount);
- UIUpdater.Instance?.UpdateCharacterHP(character);
- break;
-
- case ConsumableEffect.RestoreBoth:
- character.currentFatigue = Mathf.Min(character.maxFatigue, character.currentFatigue + effectAmount);
- character.currentHP = Mathf.Min(character.maxHP, character.currentHP + effectAmount);
- UIUpdater.Instance?.UpdateCharacterFatigue(character);
- UIUpdater.Instance?.UpdateCharacterHP(character);
- break;
- }
-
- quantity--;
- }
- }
|