154 lines
4.6 KiB
C#
154 lines
4.6 KiB
C#
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();
|
|
}
|
|
}
|