using UnityEngine; using UnityEngine.UI; using System.Collections; using GCGame.Table; using Games.Mission; using Games.Events; using Games.Item; using GCGame; using Module.Log; public class CommonItemMaterialSlot : CommonItemContainerItem { public Text _ItemName; public Text _ItemNum; public GameObject _GetPathGO; private GameItem _Item; public int _ItemDataID; private bool _IsEnough; private int _NeedNum; public int NeedNum { get { return _NeedNum; } } private bool _ShowItemName; private bool _IsMoneyEnought; public override void Init() { _ShowItemName = _ItemName.gameObject.activeSelf; LogModule.DebugLog("_ShowItemName:" + _ShowItemName); } public override void Show(Hashtable hash) { base.Show(); _Item = (GameItem)hash["InitObj"]; InitItem(_ItemParam); _ShowItemName = _ItemName.gameObject.activeSelf; } public void ClearItem() { m_ItemImg.gameObject.SetActive(false); _ItemName.gameObject.SetActive(false); m_ItemQuality.gameObject.SetActive(false); _ItemNum.gameObject.SetActive(false); _GetPathGO.SetActive(false); } public void InitMaterial(int dataId, int needNum, bool onlyBind = false, int matCnt = -1) { int itemCount = matCnt; if (matCnt < 0) { itemCount = GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(dataId); } _ItemDataID = dataId; _NeedNum = needNum; Tab_CommonItem commonItem = TableManager.GetCommonItemByID(dataId, 0); if (commonItem != null) { if (_ShowItemName) { _ItemName.gameObject.SetActive(true); } _ItemName.text = commonItem.Name; m_ItemImg.gameObject.SetActive(true); _ItemNum.gameObject.SetActive(true); LoadAssetBundle.Instance.SetImageSprite(m_ItemImg, commonItem.Icon); m_ItemQuality.gameObject.SetActive(true); LoadAssetBundle.Instance.SetImageSprite(m_ItemQuality, Utils.GetItemQualityFrame(commonItem)); if (commonItem.QualityEffect > 0) { CommonItemContainerItem.ShowQualityEffect(true, commonItem.QualityEffect, m_ItemImg.transform); } else { CommonItemContainerItem.ShowQualityEffect(false, commonItem.QualityEffect, m_ItemImg.transform); } if (itemCount >= _NeedNum) { _ItemNum.text = /*StrDictionary.GetClientDictionaryString("#{5525}") + */itemCount + /*"*/"/" + _NeedNum; _GetPathGO.SetActive(false); _IsEnough = true; } else { _ItemNum.text = /*StrDictionary.GetClientDictionaryString("#{5526}")*/ + itemCount + /*"*/"/" + _NeedNum; _GetPathGO.SetActive(true); _IsEnough = false; } return; } else { ClearItem(); } } public void UpdateNum(int matCnt = -1) { int itemCount = matCnt; if (matCnt < 0) { itemCount = GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(_ItemDataID); } if (itemCount >= _NeedNum) { _ItemNum.text = StrDictionary.GetClientDictionaryString("#{5525}") + itemCount + "/" + _NeedNum; _GetPathGO.SetActive(false); _IsEnough = true; } else { _ItemNum.text = StrDictionary.GetClientDictionaryString("#{5526}") + itemCount + "/" + _NeedNum; _GetPathGO.SetActive(true); _IsEnough = false; } } public bool IsMaterialEnough() { return _IsEnough; } public override void OnItemClick() { base.OnItemClick(); ItemTooltipsLogic.ShowItemTooltip(_ItemDataID, ItemTooltipsLogic.ShowType.Info, transform.position); } public void ShowGetPath() { ItemTooltipsLogic.ShowItemTooltip(_ItemDataID, ItemTooltipsLogic.ShowType.GetPath, transform.position); } }