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

117 lines
3.6 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using GCGame.Table;
using Games.Mission;
using Games.Events;
using Games.Item;
using GCGame;
public class EquipGemSlot : CommonItemContainerItem
{
public GameObject _SelectedGO;
public RectTransform _RectTransform;
public GameObject _GemLockGO;
public GameObject _GemOpenGO;
public GameObject _GemInfoPanel;
public GameObject _GemLvInfo;
public Text _OpenText;
public GameObject _RedTips;
public override void Show(Hashtable hash)
{
base.Show();
}
public void ShowGem(GemData gemData, int slotIdx)
{
_RedTips.SetActive(false);
var gemOpen = TableManager.GetEquipPunchConsumeByID(slotIdx);
var playerLevel = ObjManager.Instance.MainPlayer.BaseAttr.Level;
if (gemOpen.OpenLevel > playerLevel)
{
_GemInfoPanel.SetActive(false);
_GemOpenGO.SetActive(false);
_GemLockGO.SetActive(true);
_GemLvInfo.SetActive(false);
m_ItemImg.gameObject.SetActive(false);
m_ItemNum.gameObject.SetActive(false);
m_ItemQuality.gameObject.SetActive(false);
_OpenText.text = StrDictionary.GetClientDictionaryString("#{5430}", gemOpen.OpenLevel);
}
else if (gemData.DataID <= 0)
{
_GemInfoPanel.SetActive(false);
_GemOpenGO.SetActive(true);
_GemLockGO.SetActive(false);
_GemLvInfo.SetActive(false);
m_ItemImg.gameObject.SetActive(false);
m_ItemNum.gameObject.SetActive(false);
m_ItemQuality.gameObject.SetActive(false);
if (EquipEnhanceRoot.CanEquipXiangqian(EquipEnhanceXiangqian.Instance().EquipItem))
{
_RedTips.SetActive(true);
}
}
else
{
_GemLvInfo.SetActive(true);
Tab_CommonItem commonItem = TableManager.GetCommonItemByID(gemData.DataID, 0);
Tab_GemAttr gemTab = TableManager.GetGemAttrByID(gemData.DataID, 0);
m_ItemNum.gameObject.SetActive(true);
m_ItemNum.text = StrDictionary.GetClientDictionaryString("#{1166}", gemData.Level);
m_ItemImg.gameObject.SetActive(true);
m_ItemQuality.gameObject.SetActive(true);
LoadAssetBundle.Instance.SetImageSprite(m_ItemImg, commonItem.Icon);
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);
}
_GemInfoPanel.SetActive(true);
_GemOpenGO.SetActive(false);
_GemLockGO.SetActive(false);
if (EquipEnhanceRoot.CanEquipXiangqianReplace(EquipEnhanceXiangqian.Instance().EquipItem, gemData))
{
_RedTips.SetActive(true);
}
}
}
public override void OnItemClick()
{
EquipEnhanceXiangqian.Instance().OnGemSlotSelect(this);
}
public void OnSelect()
{
_SelectedGO.SetActive(true);
}
public void OnDisSelect()
{
_SelectedGO.SetActive(false);
}
//public void OnLockClick()
//{
// EquipEnhanceXiangqian.Instance().OnGemSlotSelect(this);
// //GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{5431}", 10));
//}
}