- Refactor items from predefined scriptables only, to template based into item instances - Added equipped item tooltip to facilitate comparing items - Added modular craftable items
36 lines
955 B
C#
36 lines
955 B
C#
using UnityEngine;
|
|
|
|
namespace Kryz.CharacterStats.Examples
|
|
{
|
|
[CreateAssetMenu]
|
|
public class Item : ScriptableObject
|
|
{
|
|
public string ItemName;
|
|
public Sprite Icon;
|
|
public int sellPricePlayer;
|
|
public int sellPriceVendor;
|
|
public string description;
|
|
|
|
public static ItemInstance ConvertTemplateIntoInstance(Item template, bool randomizeStats = false)
|
|
{
|
|
if(template is EquippableItem item)
|
|
{
|
|
return new EquippableItemInstance(item, item.CraftableBase);
|
|
}
|
|
else if(template is HiddenMap map)
|
|
{
|
|
return new HiddenMapInstance(map);
|
|
}
|
|
return new ItemInstance(template);
|
|
}
|
|
public static ItemInstance ConvertTemplateIntoInstance(Item template, int templateIndex, bool randomizeStats = false)
|
|
{
|
|
if (template is EquippableItem item)
|
|
{
|
|
return new EquippableItemInstance(item, randomizeStats);
|
|
}
|
|
return new ItemInstance(template, templateIndex);
|
|
}
|
|
}
|
|
}
|