using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[System.Serializable]
public class EquippableItemPrefarbAssetData
{
    public string name;

    public string prefarbAssetName;

    public float[] position;

    EquippableItemData equippableItemData;

    public EquippableItemPrefarbAssetData(EquippableItemPrefarbAsset equippableItemPrefarbAsset)
    {
        name = equippableItemPrefarbAsset.name;
        prefarbAssetName = equippableItemPrefarbAsset.prefarbAssetName;

        position = new float[3];
        position[0] = equippableItemPrefarbAsset.position.x;
        position[1] = equippableItemPrefarbAsset.position.y;
        position[2] = equippableItemPrefarbAsset.position.z;

        equippableItemData = this.MapEquippableItemToData(equippableItemPrefarbAsset.equippableItem);
    }

    public EquippableItemData MapEquippableItemToData(EquippableItem equippableItem)
    {
        return new EquippableItemData(equippableItem);
    }

    public EquippableItemPrefarbAsset MapDataToEquippableItemPrefarbAsset()
    {
        EquippableItemPrefarbAsset equippableItemPrefarbAsset = new EquippableItemPrefarbAsset();
        equippableItemPrefarbAsset.name = this.name;
        equippableItemPrefarbAsset.prefarbAssetName = this.prefarbAssetName;
        equippableItemPrefarbAsset.position = new Vector3(this.position[0], this.position[1], this.position[2]);
        
        equippableItemPrefarbAsset.equippableItem = this.equippableItemData.MapDataToEquippableItem(equippableItemPrefarbAsset.prefarbAssetName);

        return equippableItemPrefarbAsset; 
    }
}