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

101 lines
3.0 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using GCGame.Table;
using Games.Mission;
using Games.Events;
using Games.Item;
public class EquipGemItem : UIItemSelect
{
public Image _Icon;
public Image _Quality;
public Text _Name;
public Text _Num;
public Text _Desc;
public Text propertyDesc;
public GameObject _DescGO;
public GameObject redPoint;
private GameItem _Item;
private GemData curGemItem;
public override void Show(Hashtable hash)
{
base.Show();
_Item = (GameItem)hash["InitObj"];
curGemItem = (GemData)hash["curGemItem"];
var equipItem = (GameItem)hash["EquipItem"];
ShowGem(_Item, equipItem);
}
public void ShowGem(GameItem gemData, GameItem equipItem)
{
redPoint.SetActive(false);
Tab_CommonItem commonItem = TableManager.GetCommonItemByID(gemData.DataID, 0);
_Name.text = GCGame.Utils.GetItemQualityColor(commonItem.Quality) + commonItem.Name + "</color>";
_Num.text = GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(gemData.DataID).ToString();
var gemAttrs = TableManager.GetGemProp();
int equipPos = equipItem.GetEquipSlotIndex();
var propTab = GemData.GetGemPropTab(gemData.DataID, 1, equipPos);
string attrProStr = GemData.GetPropStr(propTab);
_Desc.text = attrProStr;
string propertyStr = attrProStr.Replace("\n", " ");
propertyDesc.text = propertyStr;
LoadAssetBundle.Instance.SetImageSprite(_Icon, commonItem.Icon);
LoadAssetBundle.Instance.SetImageSprite(_Quality, GCGame.Utils.GetItemQualityFrame(commonItem.Quality));
if (commonItem.QualityEffect > 0)
{
CommonItemContainerItem.ShowQualityEffect(true, commonItem.QualityEffect, _Icon.transform);
}
else
{
CommonItemContainerItem.ShowQualityEffect(false, commonItem.QualityEffect, _Icon.transform);
}
//战力高显示红点显示
if(curGemItem != null)
{
if (curGemItem.DataID > 0 && gemData.DataID > 0)
{
//Debug.Log("-----------redtips---------------" + curGemItem.DataID);
//Debug.Log("-----------redtips---------------" + gemData.DataID);
Tab_GemProp curGemData = TableManager.GetGemPropByID(curGemItem.DataID, 0);
Tab_GemProp nextGemData = TableManager.GetGemPropByID(gemData.DataID, 0);
if (nextGemData.CombatValue > curGemData.CombatValue)
{
redPoint.SetActive(true);
}
else
{
redPoint.SetActive(false);
}
}
}
}
public override void Selected()
{
base.Selected();
//_DescGO.SetActive(true);
}
public override void UnSelected()
{
base.UnSelected();
_DescGO.SetActive(false);
}
}