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() { } }