From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/UI/AuctionPurchaseView.cs | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/AuctionPurchaseView.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/AuctionPurchaseView.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/AuctionPurchaseView.cs b/Client/Assets/Scripts/XMainClient/UI/AuctionPurchaseView.cs new file mode 100644 index 00000000..7508a6fb --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/AuctionPurchaseView.cs @@ -0,0 +1,123 @@ +using System; +using UILib; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class AuctionPurchaseView : DlgBase + { + public override string fileName + { + get + { + return "GameSystem/Auction/AuctionPurchaseFrame"; + } + } + + public override bool autoload + { + get + { + return true; + } + } + + private AuctionItem m_curOverlapItem; + + public void Set(AuctionItem item) + { + this.m_curOverlapItem = item; + this.SetVisibleWithAnimation(true, null); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + base.uiBehaviour.m_maskSprite.RegisterClickEventHandler(new ButtonClickEventHandler(this.ClickCloseHandler)); + base.uiBehaviour.m_Ok.RegisterClickEventHandler(new ButtonClickEventHandler(this.ClickPurchaseHandler)); + base.uiBehaviour.m_CurCountOperate.RegisterOperateChange(new AuctionNumberOperate.NumberOperateCallBack(this.OnOperateChangeHandler)); + } + + protected override void OnShow() + { + base.OnShow(); + base.uiBehaviour.m_SinglePrice.SetText(this.m_curOverlapItem.perprice.ToString()); + base.uiBehaviour.m_HavCoin.SetText(XSingleton.singleton.NumberFormat(XBagDocument.BagDoc.GetItemCount(7))); + base.uiBehaviour.m_CurCountOperate.Set(this.m_curOverlapItem.itemData.itemCount, 1, 1, 1, true, false); + XSingleton.singleton.DrawItem(base.uiBehaviour.m_ItemTpl.gameObject, this.m_curOverlapItem.itemData); + } + + public void OnVirtuelRefresh() + { + this.OnOperateChangeHandler(); + } + + private void OnOperateChangeHandler() + { + ulong num = (ulong)((long)(base.uiBehaviour.m_CurCountOperate.Cur * (int)this.m_curOverlapItem.perprice)); + ulong itemCount = XBagDocument.BagDoc.GetItemCount(7); + bool flag = num > itemCount; + if (flag) + { + base.uiBehaviour.m_TotalPrice.SetText(string.Format("[ff0000]{0}[-]", num)); + } + else + { + base.uiBehaviour.m_TotalPrice.SetText(num.ToString()); + } + } + + private bool ClickCloseHandler(IXUIButton sprite) + { + this.SetVisibleWithAnimation(false, null); + return true; + } + + private bool ClickPurchaseHandler(IXUIButton btn) + { + ItemList.RowData itemConf = XBagDocument.GetItemConf(this.m_curOverlapItem.itemData.itemID); + string text = (itemConf != null && itemConf.ItemName.Length != 0) ? itemConf.ItemName[0] : string.Empty; + ulong num = (ulong)((long)base.uiBehaviour.m_CurCountOperate.Cur * (long)((ulong)this.m_curOverlapItem.perprice)); + ulong itemCount = XBagDocument.BagDoc.GetItemCount(XFastEnumIntEqualityComparer.ToInt(ItemEnum.DRAGON_COIN)); + AuctionDocument specificDocument = XDocuments.GetSpecificDocument(AuctionDocument.uuID); + bool flag = specificDocument.TryDragonCoinFull(num, itemCount); + if (flag) + { + bool flag2 = itemCount > 200UL; + if (flag2) + { + this.ShowDailog(XStringDefineProxy.GetString("AUCTION_SALE_FROST", new object[] + { + XLabelSymbolHelper.FormatCostWithIcon((int)num, ItemEnum.DRAGON_COIN), + text + }), new ButtonClickEventHandler(this.OnSureAuctionBuy)); + } + else + { + this.SendAuctionBuy(); + } + } + return true; + } + + private void ShowDailog(string message, ButtonClickEventHandler handler) + { + XSingleton.singleton.ShowModalDialog(message, XStringDefineProxy.GetString("COMMON_OK"), XStringDefineProxy.GetString("COMMON_CANCEL"), handler); + } + + private bool OnSureAuctionBuy(IXUIButton btn) + { + XSingleton.singleton.CloseModalDlg(); + this.SendAuctionBuy(); + return true; + } + + private void SendAuctionBuy() + { + AuctionDocument specificDocument = XDocuments.GetSpecificDocument(AuctionDocument.uuID); + specificDocument.RequestAuctionBuy(this.m_curOverlapItem.uid, (uint)this.m_curOverlapItem.itemData.itemID, (uint)base.uiBehaviour.m_CurCountOperate.Cur); + this.SetVisibleWithAnimation(false, null); + } + } +} -- cgit v1.1-26-g67d0