Files
JJBB/Assets/Project/Script/GUI/Market/MarketPlayerSellItem.cs

154 lines
4.6 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections;
using System.Collections.Generic;
using System;
using GCGame.Table;
using GCGame;
public class MarketPlayerSellItemInfo
{
public int IsLock;
public int DataId;
public ulong Guid;
public int SellCnt;
public int Price;
public int SellState = -1;
public bool IsRare = false;
}
public class MarketPlayerSellItem : UIItemSelect
{
public Image _ItemIcon;
public Image _ItemQuality;
public Text _ItemName;
public Text _ItemCnt;
public UICurrencyItem _ItemPrice;
public GameObject _ItemInfoPanel;
public GameObject _LockPanel;
public GameObject _IsOnSell;
public GameObject _IsOutTime;
public GameObject _IsOnPublic;
public GameObject _IsEmptyItem;
public GameObject _IsRare;
private MarketPlayerSellItemInfo _ItemInfo;
public override void Show(Hashtable hash)
{
base.Show();
var itemInfo = (MarketPlayerSellItemInfo)hash["InitObj"];
UpdateItem(itemInfo);
}
private void UpdateItem(MarketPlayerSellItemInfo itemInfo)
{
_ItemInfo = itemInfo;
if (_IsRare != null)
{
_IsRare.SetActive(false);
}
var commonItem = TableManager.GetCommonItemByID(_ItemInfo.DataId, 0);
if (commonItem != null)
{
_ItemPrice.gameObject.SetActive(true);
_ItemName.gameObject.SetActive(true);
_IsEmptyItem.gameObject.SetActive(false);
_ItemIcon.gameObject.SetActive(true);
_ItemQuality.gameObject.SetActive(true);
LoadAssetBundle.Instance.SetImageSprite(_ItemIcon, commonItem.Icon);
LoadAssetBundle.Instance.SetImageSprite(_ItemQuality, GCGame.Utils.GetItemQualityFrame(commonItem));
if (commonItem.QualityEffect > 0)
{
CommonItemContainerItem.ShowQualityEffect(true, commonItem.QualityEffect, _ItemIcon.transform);
}
else
{
CommonItemContainerItem.ShowQualityEffect(false, commonItem.QualityEffect, _ItemIcon.transform);
}
_ItemName.text = commonItem.Name;
if (_ItemInfo.SellCnt > 1)
{
_ItemCnt.gameObject.SetActive(true);
_ItemCnt.text = _ItemInfo.SellCnt.ToString();
}
else
{
_ItemCnt.gameObject.SetActive(false);
}
_ItemPrice.ShowCurrency(MONEYTYPE.MONEYTYPE_COIN, itemInfo.Price);
if (_IsRare != null)
{
if (commonItem.ClassID == (int)Games.Item.ItemClass.EQUIP
&& _ItemInfo.IsRare)
{
_IsRare.SetActive(true);
}
}
}
else
{
_ItemIcon.gameObject.SetActive(false);
_ItemQuality.gameObject.SetActive(false);
_ItemCnt.gameObject.SetActive(false);
_ItemPrice.gameObject.SetActive(false);
_ItemName.gameObject.SetActive(false);
_IsEmptyItem.gameObject.SetActive(true);
}
_LockPanel.SetActive(false);
_ItemInfoPanel.SetActive(false);
_IsOnSell.SetActive(false);
_IsOutTime.SetActive(false);
if (itemInfo.IsLock > 0)
{
_LockPanel.SetActive(true);
_IsEmptyItem.gameObject.SetActive(false);
_ItemPrice.gameObject.SetActive(true);
_ItemName.gameObject.SetActive(true);
var openSlotTab = TableManager.GetUsershopOpenSlotByID(Market.ShopSlotCnt + 1, 0);
if(openSlotTab != null)
_ItemPrice.ShowCurrency(MONEYTYPE.MONEYTYPE_COIN, openSlotTab.SliverNum);
else
_ItemPrice.ShowCurrency(MONEYTYPE.MONEYTYPE_COIN, 0);
_ItemName.text = StrDictionary.GetClientDictionaryString("#{6356}");
}
else
{
_ItemInfoPanel.SetActive(true);
}
_IsOnSell.SetActive(false);
_IsOnPublic.SetActive(false);
_IsOutTime.SetActive(false);
if (itemInfo.SellState == 1)
{
_IsOnSell.SetActive(true);
}
else if (itemInfo.SellState == 2)
{
_IsOutTime.SetActive(true);
}
else if (itemInfo.SellState == 0)
{
_IsOnPublic.SetActive(true);
}
}
public void OnShowItemTips()
{
ItemTooltipsLogic.ShowItemTooltip(_ItemInfo.DataId, ItemTooltipsLogic.ShowType.Info, transform.position);
OnItemClick();
}
}