Files
JJBB/Assets/Project/Script/GUI/Magic/MagicUIItem/MagicClearItems.cs
2024-08-23 15:49:34 +08:00

123 lines
4.2 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using Games.Item;
using GCGame.Table;
public class MagicClearItems : UIItemSelect
{
public class ItemInfo
{
public GameItem _GameItem;
public int _canClear;
}
public Image m_ItemImgae;
public Image m_ItemIcon;
public Text Name;
public GameObject isEquip;
public GameObject _DisableFlag;
public GameObject IsBind;
public GameObject UnEnable;
public Text lv;
private ItemInfo m_ItemInfo;
public override void Show(Hashtable hash)
{
m_ItemInfo = hash["InitObj"] as ItemInfo;
if (m_ItemInfo == null || m_ItemInfo._GameItem==null)
return;
Tab_CommonItem tabItem = TableManager.GetCommonItemByID(m_ItemInfo._GameItem.DataID, 0);
if (tabItem == null)
return;
if (tabItem.ClassID != (int)ItemClass.MAGICITEM)
{
return;
}
UnEnable.SetActive(m_ItemInfo._canClear != 1);
LoadAssetBundle.Instance.SetImageSprite(m_ItemIcon, tabItem.Icon);
LoadAssetBundle.Instance.SetImageSprite(m_ItemImgae, GCGame.Utils.GetItemQualityFrame(tabItem.Quality));
if (tabItem.QualityEffect > 0)
{
CommonItemContainerItem.ShowQualityEffect(true, tabItem.QualityEffect, m_ItemImgae.transform);
}
else
{
CommonItemContainerItem.ShowQualityEffect(false, tabItem.QualityEffect, m_ItemImgae.transform);
}
Name.text = GCGame.Utils.GetItemQualityName(tabItem.Quality, tabItem.Name);
// 等级颜色和名字颜色一致所以公用一个GetItemQualityName
if(lv != null)
{
lv.text = GCGame.Utils.GetItemQualityName(tabItem.Quality, StrDictionary.GetClientDictionaryString("#{1166}",tabItem.MinLevelRequire));
}
GameItemContainer Container = GameManager.gameManager.PlayerDataPool.GetItemContainer(GameItemContainer.Type.TYPE_MAGICPACK);
isEquip.SetActive(false);
if (Container != null)
{
if (Container.GetItemByGuid(m_ItemInfo._GameItem.Guid) != null)
isEquip.SetActive(true);
}
IsBind.SetActive(m_ItemInfo._GameItem.BindFlag && isEquip.activeSelf == false);
DisableShow();
base.Show();
}
void DisableShow()
{
_DisableFlag.SetActive(true);
Tab_CommonItem commonItem = TableManager.GetCommonItemByID(m_ItemInfo._GameItem.DataID, 0);
if (commonItem == null)
return;
int nPlayerLevel = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level;
int nPlayerProfession = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Profession;
int proLimit = commonItem.ProfessionRequire;
if (((proLimit >> GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Profession) & 1) == 0)
{
return;
}
if (commonItem.MinLevelRequire > nPlayerLevel
|| commonItem.MaxLevelRequire < nPlayerLevel)
{
return;
}
_DisableFlag.SetActive(false);
}
public void ItemToolTip()
{
GameItemContainer Container = GameManager.gameManager.PlayerDataPool.GetItemContainer(GameItemContainer.Type.TYPE_MAGICPACK);
if (Container == null)
{
return;
}
if (m_ItemInfo == null || m_ItemInfo._GameItem == null)
return;
GameItem gameItem = Container.GetItemByGuid(m_ItemInfo._GameItem.Guid);
if (gameItem == null)
MagicTooltipLogic.ShowEquipTooltip(m_ItemInfo._GameItem, ItemTooltipsLogic.ShowType.UnEquiped);
else
MagicTooltipLogic.ShowEquipTooltip(m_ItemInfo._GameItem, ItemTooltipsLogic.ShowType.Equiped);
}
public void UnEnable_Click()
{
if (m_ItemInfo == null || m_ItemInfo._GameItem == null)
return;
if(m_ItemInfo._canClear==-1)
{
GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("{#40316}"));
return;
}
if (m_ItemInfo._canClear == 0)
{
GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("{#40317}"));
return;
}
}
}