vampire-like/Assets/GameMain/Scripts/Presentation/Main/ItemTooltip/ItemTooltipContext.cs

62 lines
1.8 KiB
C#

using SepCore.CustomUtility;
using SepCore.Definition;
using UnityEngine;
namespace SepCore.UI
{
public class ItemTooltipContext : UIContext
{
public int Index;
public string IconAssetName;
public string Title;
public ItemType ItemType;
public ItemRarity Rarity;
public string Description;
public int Price;
public Vector3 TargetPos;
public bool ShowRecycleButton;
public ItemTooltipContext()
{
Index = -1;
IconAssetName = string.Empty;
Title = string.Empty;
ItemType = ItemType.None;
Rarity = ItemRarity.White;
Description = string.Empty;
Price = 0;
TargetPos = Vector3.zero;
ShowRecycleButton = false;
}
public ItemTooltipContext(ItemTooltipRawData rawData)
{
Index = rawData.Index;
ItemType = rawData.ItemType;
Rarity = rawData.Rarity;
Price = rawData.Price;
TargetPos = rawData.TargetPos;
ShowRecycleButton = rawData.OnRecycle != null;
if (ItemType == ItemType.None)
{
IconAssetName = string.Empty;
Title = string.Empty;
}
else if (ItemType == ItemType.Weapon)
{
var data = rawData.WeaponData;
IconAssetName = data.IconAssetName;
Title = data.Title;
Description = ItemDescUtility.CreateWeaponDescription(data);
}
else
{
var data = rawData.PropData;
IconAssetName = data.IconAssetName;
Title = data.Title;
Description = ItemDescUtility.CreatePropDescription(data);
}
}
}
}