Pedro Gomes 1589603c5b Updates on crafting
- Added advanced craftable stat stones
- Added 2 vendors, one for each rank of stones
2025-01-09 20:35:29 +00:00

57 lines
1.3 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 if(template.item is CraftingStatStoneTemplate stone)
{
this.item = new CraftingStatStone(stone);
}
else
{
this.item = new ItemInstance(template.item);
}
soldMultipleTimes = template.soldMultipleTimes;
}
}