- Added advanced craftable stat stones - Added 2 vendors, one for each rank of stones
57 lines
1.3 KiB
C#
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;
|
|
}
|
|
} |