using Kryz.CharacterStats.Examples; using System.Collections; using System.Collections.Generic; using UnityEngine; [System.Serializable] public class VendorData { public List items = new List(); } [System.Serializable] public class VendorItem { public Item item; public bool soldMultipleTimes = true; } [System.Serializable] public class VendorDataInstance { public List items = new List(); 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; } }