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(); } }