Scriptum/Assets/Scripts/REFACTORING/Models/Item/EquippableItem/EquippableItemPrefabAssetData.cs

46 lines
1.5 KiB
C#
Raw Normal View History

2022-11-06 21:34:17 +01:00
using UnityEngine;
[System.Serializable]
public class EquippableItemPrefabAssetData : PrefabAssetModelData
{
EquippableItemData EquippableItemData;
public EquippableItemPrefabAssetData(EquippableItemPrefabAsset assetModel) : base(assetModel)
{
EquippableItemData = MapEquippableItemToData(assetModel.EquippableItem);
}
/// <summary>
/// Function to convert equitable item (current object partial variable) object to data format
/// </summary>
/// <param name="equippableItem"></param>
/// <returns></returns>
public EquippableItemData MapEquippableItemToData(EquippableItem equippableItem)
{
return new EquippableItemData(equippableItem);
}
/// <summary>
/// Function to convert EquippableItem Asset format to data format
/// </summary>
/// <param name="assetModel"></param>
/// <returns></returns>
public override PrefabAssetModelData PrefabAssetModelToData(PrefabAssetModel assetModel)
{
return new EquippableItemPrefabAssetData((EquippableItemPrefabAsset)assetModel);
}
public override PrefabAssetModel MapDataToPrefabAssetModel()
{
EquippableItemPrefabAsset equippableItemPrefabAsset = new EquippableItemPrefabAsset(
Name,
PrefabAssetName,
new Vector3(Position[0], Position[1], Position[2])
);
equippableItemPrefabAsset.EquippableItem = EquippableItemData.MapDataToEquippableItem(equippableItemPrefabAsset.PrefabAssetName);
return equippableItemPrefabAsset;
}
}