Files
JJBB/Assets/Project/Script/GUI/Childs/CommonItem_Base.cs
2024-08-23 15:49:34 +08:00

82 lines
2.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using GCGame.Table;
public class CommonItem_Base : MonoBehaviour {
public Image _ItemQuality;
public Image _ItemIcon;
public Text _ItemName;
public Text _ItemCount;
protected int _ItemId = -1;
protected int _ItemRemainCount = 0;
public static CommonItem_Base Instance;
public virtual void OnEnable()
{
Instance = this;
}
public void OnDisable()
{
_ItemId = -1;
Instance = null;
}
public virtual void InitItem(int itemId = -1, int itemCount = 0)
{
if(itemId == -1)
{
gameObject.SetActive(false);
return;
}
_ItemId = itemId;
var commonItem = TableManager.GetCommonItemByID(itemId, 0);
if(commonItem == null)
{
Debug.LogError("CommonItem is null : " + itemId);
gameObject.SetActive(false);
return;
}
LoadAssetBundle.Instance.SetImageSprite(_ItemIcon, commonItem.Icon);
LoadAssetBundle.Instance.SetImageSprite(_ItemQuality, GCGame.Utils.GetItemQualityFrame(commonItem.Quality));
if (_ItemName)
_ItemName.text = commonItem.Name;
if(itemCount != 0)
{
if (_ItemCount)
_ItemCount.text = _ItemRemainCount + "";
}else
{
RefreshItemRemainCount();
}
}
public void OnItemIcon()
{
ItemTooltipsLogic.ShowItemTooltip(_ItemId, ItemTooltipsLogic.ShowType.GetPath, _ItemIcon.transform.position);
}
public virtual void RefreshItemRemainCount()
{
var backPack = GameManager.gameManager.PlayerDataPool.BackPack;
if(backPack == null)
{
Debug.LogError("backPack is null");
return;
}
_ItemRemainCount = backPack.GetItemCountByDataId(_ItemId);
if (_ItemCount)
_ItemCount.text = _ItemRemainCount + "";
}
//自定义刷新
public virtual void Refresh() { }
}