Pedro Gomes 74a9c2b940 Major rework on items
- Refactor items from predefined scriptables only, to template based into item instances
- Added equipped item tooltip to facilitate comparing items
- Added modular craftable items
2025-01-03 19:40:35 +00:00

53 lines
1.2 KiB
C#

using Kryz.CharacterStats.Examples;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class VendorData
{
public List<VendorItem> items = new List<VendorItem>();
}
[System.Serializable]
public class VendorItem
{
public Item item;
public bool soldMultipleTimes = true;
}
[System.Serializable]
public class VendorDataInstance
{
public List<VendorItemInstance> items = new List<VendorItemInstance>();
public VendorDataInstance(VendorData template)
{
for (int i = 0; i < template.items.Count; i++)
{
this.items.Add(new VendorItemInstance(template.items[i]));
}
}
}
[System.Serializable]
public class VendorItemInstance
{
public ItemInstance item;
public bool soldMultipleTimes = true;
public VendorItemInstance(VendorItem template)
{
if(template.item is EquippableItem)
{
EquippableItem templateItem = template.item as EquippableItem;
this.item = new EquippableItemInstance(templateItem);
}
else
{
this.item = new ItemInstance(template.item);
}
soldMultipleTimes = template.soldMultipleTimes;
}
}