//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, March 06, 2019 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; //拍品上架 namespace Snxxz.UI { public class AuctionShelfWin : Window { [SerializeField] ItemCell m_ItemCell; [SerializeField] Text m_ItemName; [SerializeField] RectTransform m_UnOverdueContainer; [SerializeField] Text m_BasePriceText; [SerializeField] Text m_BuyoutPriceText; [SerializeField] RectTransform m_OverdueContainer; [SerializeField] Button m_CloseBtn; [SerializeField] Button m_UseBtn; [SerializeField] Button m_Auction; [SerializeField] Button m_Overdue; AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_CloseBtn.SetListener(() => { CloseImmediately(); }); m_UseBtn.SetListener(OnClickUseBtn); m_Auction.SetListener(OnClickAuction); m_Overdue.SetListener(OnClickOverdueItem); } protected override void OnPreOpen() { DisplayItem(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { } private void OnClickUseBtn() { CloseImmediately(); if (ItemLogicUtility.Instance.IsOverdue(auctionHelpModel.ItemModel.guid)) { ItemOperateUtility.Instance.ProcessOverdueItem(auctionHelpModel.ItemModel.guid); } else { ItemOperateUtility.Instance.UseItem(auctionHelpModel.ItemModel.guid); } } private void OnClickAuction() { CloseImmediately(); AuctionInquiry.Instance.SendSellAuctionItem(auctionHelpModel.ItemModel.itemInfo.index); } private void OnClickOverdueItem() { SysNotifyMgr.Instance.ShowTip("LotAuctionLimit"); } private void DisplayItem() { if (auctionHelpModel.ItemModel == null) { return; } var item = auctionHelpModel.ItemModel; var config = AuctionItemConfig.Get(item.itemId); var cellModel = new ItemCellModel(item.itemId, true, (ulong)item.count); m_ItemCell.Init(cellModel); m_ItemName.text = auctionHelpModel.ItemModel.config.ItemName; m_ItemCell.button.SetListener(() => { var itemData = new ItemAttrData(item.itemId, false, (ulong)item.count, item.itemInfo.index, false, item.packType, item.guid, item.useDataDict); ModelCenter.Instance.GetModel().SetItemTipsModel(itemData); }); var isOverdue = ItemLogicUtility.Instance.IsOverdue(auctionHelpModel.ItemModel.guid); m_UnOverdueContainer.gameObject.SetActive(!isOverdue); m_OverdueContainer.gameObject.SetActive(isOverdue); m_Auction.gameObject.SetActive(!isOverdue); m_Overdue.gameObject.SetActive(isOverdue); if (!isOverdue) { m_BasePriceText.text = config.BasePrice.ToString(); m_BuyoutPriceText.text = config.BuyoutPrice.ToString(); } } #endregion } }