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

171 lines
5.8 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using GCGame.Table;
using Games.Mission;
using Games.Events;
using Games.Item;
using Module.Log;
public class CommonItemTipsSlot : CommonItemContainerItem
{
public Image _ItemImg;
public Image _ItemQuality;
public GameObject _BindFlag;
public GameObject _EquipFlag;
public GameObject _DisableFlag;
public GameObject _RareFlag;
public Image _QualityBG; // 品质背景,长条形
protected GameItem _GameItem;
public override void Show(Hashtable hash)
{
base.Show();
_GameItem = (GameItem)hash["InitObj"];
InitItem(_GameItem);
}
public void InitItem(GameItem itemParam)
{
_GameItem = itemParam;
if (_GameItem == null)
{
_ItemImg.gameObject.SetActive(false);
_ItemQuality.gameObject.SetActive(false);
_BindFlag.gameObject.SetActive(false);
_DisableFlag.gameObject.SetActive(false);
_EquipFlag.gameObject.SetActive(false);
_RareFlag.SetActive(false);
CommonItemContainerItem.ShowQualityEffect(false, EquipFrenzy.EquipFrenzyEffectID, _ItemImg.transform);
return;
}
_ItemImg.gameObject.SetActive(true);
_ItemQuality.gameObject.SetActive(true);
Tab_CommonItem commonItem = TableManager.GetCommonItemByID(_GameItem.DataID, 0);
//CommonItemContainerItem.ShowQualityEffect(_GameItem.IsFrenzy, EquipFrenzy.EquipFrenzyEffectID, _ItemImg.transform);
if (commonItem != null)
{
if (commonItem != null)
{
//m_ItemNum.text = itemParam.StackCount.ToString();
#region
int _PlayerProfession = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Profession; //获取玩家职业
//名字 Icon
if (_PlayerProfession == 0 || _PlayerProfession == 2)
{
LoadAssetBundle.Instance.SetImageSprite(_ItemImg, commonItem.Icon);//男
}
else if (_PlayerProfession == 1 || _PlayerProfession == 3)
{
LoadAssetBundle.Instance.SetImageSprite(_ItemImg, commonItem.Iconnv); //女
}
#endregion
//LoadAssetBundle.Instance.SetImageSprite(_ItemImg, commonItem.Icon);
LoadAssetBundle.Instance.SetImageSprite(_ItemQuality, itemParam.GetQualityFrame());
LoadAssetBundle.Instance.SetImageSprite(_QualityBG, itemParam.GetQualityBG());
if (commonItem.QualityEffect > 0)
{
CommonItemContainerItem.ShowQualityEffect(true, commonItem.QualityEffect, _ItemImg.transform);
}
else
{
CommonItemContainerItem.ShowQualityEffect(false, EquipFrenzy.EquipFrenzyEffectID, _ItemImg.transform);
//CommonItemContainerItem.ShowQualityEffect(false, commonItem.QualityEffect, _ItemImg.transform);
}
if (_GameItem.IsPlayerEquiped())
{
_EquipFlag.SetActive(true);
_BindFlag.SetActive(false);
}
else
{
_EquipFlag.SetActive(false);
if (_GameItem.BindFlag)
{
_BindFlag.SetActive(true);
}
else
{
_BindFlag.SetActive(false);
}
}
int nPlayerLevel = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level;
int nPlayerProfession = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Profession;
_DisableFlag.SetActive(false);
if (_GameItem.IsEquipMent() && _GameItem.IsValid())
{
if ((!_GameItem.IsFitForPlayer()))
{
_DisableFlag.SetActive(true);
}
if (nPlayerLevel < _GameItem.EquipUseLevel)
{
_DisableFlag.SetActive(true);
}
if (itemParam.ShihunTime > 0)
{
_DisableFlag.SetActive(true);
}
if (itemParam.Durable == 0)
{
_DisableFlag.SetActive(true);
}
}
else
{
if ((!_GameItem.IsFitForPlayer()))
{
_DisableFlag.SetActive(true);
}
if (!_GameItem.IsValid()
|| commonItem.MinLevelRequire > nPlayerLevel
|| commonItem.MaxLevelRequire < nPlayerLevel)
{
_DisableFlag.SetActive(true);
}
}
}
}
if (_RareFlag != null)
{
if (!_EquipFlag.activeSelf && !_BindFlag.activeSelf)
{
_RareFlag.SetActive(false);
if (itemParam.IsEquipMent())
{
if (itemParam.IsRare)
{
_RareFlag.SetActive(true);
_BindFlag.SetActive(false);
_EquipFlag.SetActive(false);
}
}
}
else
{
_RareFlag.SetActive(false);
}
}
}
}