Files
JJBB/Assets/Project/Script/GUI/Other/MyAutoMedicItem.cs

107 lines
3.2 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using GCGame.Table;
using Games.Item;
using System.Collections.Generic;
public class MyAutoMedicItem : MonoBehaviour {
public Image itemQuality;
public Button m_ItemIconBtn;
public Text m_ItemNameText;
public Text m_ItemDescText;
public Button m_MaskButton;
public Text m_ItemCountText;
public bool hasSameItem = false;
public int m_ItemDataId;
public int m_ItemTotalCount;
private int m_OpenType;
public void InitMyItem(int m_ItemId, int m_Type)
{
m_OpenType = m_Type;
if (m_ItemId == -1)
{
return;
}
m_ItemDataId = m_ItemId;
if (m_Type == 1)
{
Tab_AutoUseItem m_AutoUseItem = TableManager.GetAutoUseItemByID(m_ItemId, 0);
if (m_AutoUseItem != null)
{
LoadAssetBundle.Instance.SetImageSprite(m_ItemIconBtn.image, m_AutoUseItem.Icon);
m_ItemNameText.text = m_AutoUseItem.Name;
m_ItemDescText.text = m_AutoUseItem.Desc;
}
}else
{
Tab_UseDrugItem useDrugItem = TableManager.GetUseDrugItemByID(m_ItemId, 0);
if(useDrugItem != null)
{
LoadAssetBundle.Instance.SetImageSprite(m_ItemIconBtn.image, useDrugItem.Icon);
m_ItemNameText.text = useDrugItem.Name;
m_ItemDescText.text = useDrugItem.Desc;
}
}
Tab_CommonItem commonItem = TableManager.GetCommonItemByID(m_ItemId, 0);
if(commonItem != null)
{
itemQuality.gameObject.SetActive(true);
LoadAssetBundle.Instance.SetImageSprite(itemQuality, GCGame.Utils.GetItemQualityFrame(commonItem.Quality));
}else
{
itemQuality.gameObject.SetActive(false);
}
SetItemCountText();
}
//根据物品的DataId获取物品的数量
public void SetItemCountText()
{
var backPack = GameManager.gameManager.PlayerDataPool.BackPack;
var itemCount = backPack.GetItemCountByDataId(m_ItemDataId);
if(itemCount <= 0)
{
m_ItemCountText.text = StrDictionary.GetClientDictionaryString("#{5526}") + "0</color>";
m_MaskButton.gameObject.SetActive(true);
hasSameItem = false;
}
else
{
m_MaskButton.gameObject.SetActive(false);
m_ItemCountText.text = itemCount.ToString();
hasSameItem = true;
}
}
public void MyItemClick()
{
if(hasSameItem)
{
//设置当前的物品为自动使用的物品
//if(m_OpenType == 1)
// AutoUseMedicPanelCtrl.Instance.SetShowItemInfo(m_ItemDataId);
if(m_OpenType == 2)
{
PlayerPreferenceData.ShortCutItemId = m_ItemDataId;
SkillBarLogic.Instance().SetUseItem();
}
UIManager.CloseUI(UIInfo.PopCanSelectItemPanel);
}
else
{
ItemTooltipsLogic.ShowItemTooltip(m_ItemDataId, ItemTooltipsLogic.ShowType.GetPath, Vector3.zero);
}
}
}