//-------------------------------------------------------- 
 | 
//    [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<AuctionHelpModel>(); } }  
 | 
        #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<ItemTipsModel>().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 
 | 
  
 | 
    } 
 | 
  
 | 
} 
 |