126 lines
3.3 KiB
C#
126 lines
3.3 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using System.Collections;
|
|
using Games.Item;
|
|
using GCGame.Table;
|
|
using GCGame;
|
|
|
|
public class EquipHechengItem : UISubMenuItem
|
|
{
|
|
public Text _ItemName;
|
|
public Text _CanCombineTips;
|
|
public Image _ItemIcon;
|
|
public Text _Num;
|
|
public Text _BindNum;
|
|
|
|
private Tab_ItemCombine _CombineItem;
|
|
private string _OrgName;
|
|
|
|
public int GetItemDataID()
|
|
{
|
|
if (_CombineItem == null)
|
|
return -1;
|
|
return _CombineItem.ItemID;
|
|
}
|
|
|
|
public override void InitMenu(object obj)
|
|
{
|
|
base.Show();
|
|
|
|
if (obj is string)
|
|
{
|
|
_MenuObj = obj;
|
|
_OrgName = (string)obj;
|
|
_ItemName.text = _OrgName;
|
|
|
|
if(_HLMenuText != null)
|
|
{
|
|
_HLMenuText.text = _ItemName.text;
|
|
}
|
|
}
|
|
else if(obj is Tab_ItemCombine)
|
|
{
|
|
_MenuObj = obj;
|
|
_CombineItem = (Tab_ItemCombine)obj;
|
|
InitItem();
|
|
}
|
|
}
|
|
|
|
private void InitItem()
|
|
{
|
|
var tabCommonItem = TableManager.GetCommonItemByID(_CombineItem.ItemID, 0);
|
|
if (tabCommonItem == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
_OrgName = tabCommonItem.Name;
|
|
_ItemName.text = tabCommonItem.Name;
|
|
if(_HLMenuText != null)
|
|
{
|
|
_HLMenuText.text = _ItemName.text;
|
|
}
|
|
|
|
//LoadAssetBundle.Instance.SetImageSprite(_ItemIcon, tabCommonItem.Icon);
|
|
//_Num.text = GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(_Item.DataID).ToString();
|
|
//var bingNum = GameManager.gameManager.PlayerDataPool.BackPack.GetBindItemCountByDataId(_Item.DataID);
|
|
//if (bingNum > 0)
|
|
// _BindNum.text = StrDictionary.GetClientDictionaryString("#{5308}", bingNum);
|
|
//else
|
|
// _BindNum.text = "";
|
|
}
|
|
|
|
public override bool ShowMenu()
|
|
{
|
|
if (_CombineItem == null)
|
|
{
|
|
return base.ShowMenu();
|
|
}
|
|
if (EquipEnhanceHecheng.Instance() && EquipEnhanceHecheng.Instance().OnlyShowEnough)
|
|
{
|
|
if (GetItemCanCombineCnt() == 0)
|
|
return false;
|
|
}
|
|
|
|
return base.ShowMenu();
|
|
}
|
|
|
|
public void SetCombineTip(int num)
|
|
{
|
|
//_CanCombineTips.gameObject.SetActive(num > 0);
|
|
if (num > 0)
|
|
{
|
|
_ItemName.text = _OrgName + "(" + num + ")";
|
|
}
|
|
else
|
|
{
|
|
_ItemName.text = _OrgName;
|
|
}
|
|
|
|
_HLMenuText.text = _ItemName.text;
|
|
}
|
|
|
|
public int GetItemCanCombineCnt()
|
|
{
|
|
int combineCnt = 0;
|
|
for (int i = 0; i < _CombineItem.getNeedNumCount(); ++i)
|
|
{
|
|
var matID = _CombineItem.GetSrcItemIDbyIndex(i);
|
|
if (matID > 0)
|
|
{
|
|
var materialCnt = GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(matID);
|
|
if (i > 0)
|
|
{
|
|
combineCnt = Mathf.Min(combineCnt, materialCnt / _CombineItem.GetNeedNumbyIndex(i));
|
|
}
|
|
else
|
|
{
|
|
combineCnt = materialCnt / _CombineItem.GetNeedNumbyIndex(i);
|
|
}
|
|
}
|
|
}
|
|
SetCombineTip(combineCnt);
|
|
return combineCnt;
|
|
}
|
|
}
|