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

72 lines
2.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using GCGame.Table;
public class InteractionRewItem : UIItemBase{
public Image _itemQuality;
public Image _itemIcon;
public Text _itemCount;
public struct InteractionRewItemData
{
public int _itemId;
public int _itemCount;
public InteractionRewItemData(int itemId, int count)
{
_itemId = itemId;
_itemCount = count;
}
}
private int _itemId;
private Tab_CommonItem commonItem = null;
public override void Show(Hashtable hash)
{
base.Show(hash);
InteractionRewItemData infoData = (InteractionRewItemData)hash["InitObj"];
_itemId = infoData._itemId;
StopAllCoroutines();
StartCoroutine(InitItem(infoData._itemCount));
}
IEnumerator InitItem(int itemCount)
{
yield return new WaitForEndOfFrame();
commonItem = TableManager.GetCommonItemByID(_itemId, 0);
if (commonItem == null)
{
gameObject.SetActive(false);
yield break;
}
LoadAssetBundle.Instance.SetImageSprite(_itemIcon, commonItem.Icon);
LoadAssetBundle.Instance.SetImageSprite(_itemQuality, GCGame.Utils.GetItemQualityFrame(commonItem.Quality));
if (commonItem.QualityEffect > 0)
{
CommonItemContainerItem.ShowQualityEffect(true, commonItem.QualityEffect, _itemIcon.transform);
}
else
{
CommonItemContainerItem.ShowQualityEffect(false, commonItem.QualityEffect, _itemIcon.transform);
}
if (itemCount <= 0)
{
_itemCount.gameObject.SetActive(false);
}
else
{
_itemCount.gameObject.SetActive(true);
_itemCount.text = itemCount.ToString();
}
yield break;
}
public override void OnItemClick()
{
base.OnItemClick();
ItemTooltipsLogic.ShowItemTooltip(_itemId, ItemTooltipsLogic.ShowType.Info, _itemIcon.transform.position);
}
}