//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, March 04, 2019
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
using System;
|
|
namespace vnxbqy.UI
|
{
|
|
public class MyAuctionCell : MonoBehaviour
|
{
|
|
[SerializeField] GameObject m_MyAuction;//我的拍品
|
[SerializeField] GameObject m_FamilyImage;//仙盟拍品
|
[SerializeField] ItemCell m_ItemCell;//物品
|
[SerializeField] TextEx m_ItemName;//物品名
|
[SerializeField] Text m_BiddingText;//竞价状态
|
[SerializeField] TextEx m_JadeNumber;//当前竞价
|
[SerializeField] Image m_JadeImage;
|
[SerializeField] TextEx m_TimeText;//时间
|
[SerializeField] TextEx m_Income;//收益
|
[SerializeField] Button m_BackButton;//下架按钮
|
|
AuctionModel model { get { return ModelCenter.Instance.GetModel<AuctionModel>(); } }
|
AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
|
|
|
string auctionItemGuid;
|
|
bool m_IsWarmUp = false;
|
bool isWarmUp
|
{
|
get { return m_IsWarmUp; }
|
set
|
{
|
if (value != m_IsWarmUp)
|
{
|
m_IsWarmUp = value;
|
AuctionItem auctionItem;
|
if (model.TryGetMyAuctionItem(auctionItemGuid, out auctionItem))
|
{
|
Display(auctionItem);
|
}
|
}
|
}
|
}
|
|
float timer = 0f;
|
|
public void GetMyAuctionGUID(string guid)
|
{
|
AuctionItem auctionItem;
|
if (!model.TryGetMyAuctionItem(guid, out auctionItem))
|
{
|
return;
|
}
|
|
this.auctionItemGuid = guid;
|
|
m_MyAuction.SetActive(auctionItem.familyId == 0);
|
m_BackButton.SetActive(auctionItem.familyId == 0 && auctionItem.biddingPrice == 0);
|
m_FamilyImage.SetActive(auctionItem.familyId != 0);
|
|
m_BackButton.SetListener(() =>
|
{
|
model.SendBackItem(auctionItem);
|
});
|
|
var config = AuctionItemConfig.Get(auctionItem.itemId);
|
var itemConfig = ItemConfig.Get(auctionItem.itemId);
|
|
int income = 0;
|
|
var jobBool = itemConfig.JobLimit == PlayerDatas.Instance.baseData.Job;
|
if (auctionItem.biddingPrice != 0)
|
{
|
if (auctionItem.familyId == 0)
|
{
|
int auctionTaxrate = Mathf.FloorToInt((float)(auctionHelpModel.
|
AuctionTaxrate1 * auctionItem.biddingPrice) / 100);//个人税收
|
income = auctionItem.biddingPrice - auctionTaxrate;
|
}
|
else
|
{
|
int auctionTaxrate = Mathf.FloorToInt((float)(auctionHelpModel.
|
AuctionTaxrate2 * auctionItem.biddingPrice) / 100);//仙盟税收
|
int number = auctionItem.biddingPrice - auctionTaxrate;
|
int incomeMax = Mathf.CeilToInt((float)(number * auctionHelpModel.AuctionTaxrate3) / 100);
|
int incomeNumber = Mathf.CeilToInt((float)number / auctionItem.familyPlayers.Count);
|
income = Mathf.Min(incomeMax, incomeNumber);
|
}
|
}
|
|
m_Income.text = UIHelper.ReplaceLargeNum(income);
|
|
ItemCellModel cellModel = new ItemCellModel(auctionItem.itemId, true, (ulong)auctionItem.itemCount,
|
string.Empty, PackType.Deleted, false, auctionItem.userDataDict);
|
m_ItemCell.Init(cellModel);
|
var score = 0;
|
if (ItemLogicUtility.Instance.IsSuitEquip(auctionItem.itemId))
|
{
|
score = ItemLogicUtility.Instance.GetEquipScore(auctionItem.itemId, auctionItem.userDataDict);
|
var isUp = ItemLogicUtility.Instance.IsFightUp(auctionItem.itemId, score);
|
m_ItemCell.stateIcon.SetActive(isUp == 1);
|
if (isUp == 1)
|
{
|
m_ItemCell.stateIcon.SetSprite(isUp == 1 ? "EquipUpIcon" : "EquipDownIcon");
|
}
|
}
|
else
|
{
|
m_ItemCell.stateIcon.SetActive(false);
|
}
|
m_ItemCell.button.SetListener(() =>
|
{
|
ItemTipUtility.Show(new ItemTipUtility.ItemViewInfo()
|
{
|
itemId = auctionItem.itemId,
|
compare = true,
|
isAuctionEquip = ItemLogicUtility.Instance.IsRealmEquip(auctionItem.itemId),
|
score = score,
|
legendProperty = ItemLogicUtility.Instance.IsRealmEquip(auctionItem.itemId) ?
|
ItemTipUtility.GetLegendProperty(auctionItem.itemId, auctionItem.userDataDict)
|
: default(ItemTipUtility.LegendProperty),
|
});
|
});
|
m_ItemName.text = UIHelper.GetItemName(auctionItem.itemId, true);
|
m_ItemName.color = UIHelper.GetUIColor(itemConfig.ItemColor, true);
|
|
if (auctionItem.biddingPrice == 0)
|
{
|
m_JadeNumber.SetActive(false);
|
m_JadeImage.SetActive(false);
|
}
|
else
|
{
|
m_JadeNumber.SetActive(true);
|
m_JadeImage.SetActive(true);
|
}
|
|
m_JadeNumber.text = UIHelper.ReplaceLargeNum(auctionItem.biddingPrice);
|
|
Display(auctionItem);
|
DisplayTime(auctionItem);
|
}
|
|
private void LateUpdate()
|
{
|
timer += Time.deltaTime;
|
if (timer >= 0.5f)
|
{
|
timer = 0f;
|
AuctionItem auctionItem;
|
if (model.TryGetMyAuctionItem(auctionItemGuid, out auctionItem))
|
{
|
DisplayTime(auctionItem);
|
isWarmUp = AuctionLogicUtil.IsAuctionItemWarmUp(auctionItem);
|
}
|
}
|
}
|
|
void Display(AuctionItem auctionItem)
|
{
|
m_BiddingText.text = AuctionLogicUtil.GetBiddingStateLabel(auctionItem);
|
}
|
|
void DisplayTime(AuctionItem auctionItem)
|
{
|
m_TimeText.text = AuctionLogicUtil.GetBiddingTimeLabel(auctionItem);
|
var colortype = AuctionLogicUtil.IsAuctionItemExtraTime(auctionItem) ? TextColType.Red : TextColType.Green;
|
m_TimeText.color = UIHelper.GetUIColor(colortype, true);
|
}
|
}
|
|
}
|
|
|
|