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/JadeBagHandler.cs | 172 +++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/JadeBagHandler.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/JadeBagHandler.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/JadeBagHandler.cs b/Client/Assets/Scripts/XMainClient/UI/JadeBagHandler.cs new file mode 100644 index 00000000..7d127e15 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/JadeBagHandler.cs @@ -0,0 +1,172 @@ +using System; +using UILib; +using UnityEngine; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class JadeBagHandler : DlgHandlerBase + { + private XItemMorePowerfulTipMgr powerfullMgr + { + get + { + return DlgBase.singleton.RedPointMgr; + } + } + + protected override string FileName + { + get + { + return "ItemNew/JadeListPanel"; + } + } + + private XJadeDocument _doc = null; + + private IXUIWrapContent m_WrapContent; + + private IXUIScrollView m_ScrollView; + + private IXUISprite m_Close; + + private IXUILabel m_Limit; + + private ulong m_TargetJadeUID = 0UL; + + protected override void Init() + { + base.Init(); + this._doc = XDocuments.GetSpecificDocument(XJadeDocument.uuID); + this.m_WrapContent = (base.PanelObject.transform.Find("BagPanel/WrapContent").GetComponent("XUIWrapContent") as IXUIWrapContent); + this.m_ScrollView = (base.PanelObject.transform.Find("BagPanel").GetComponent("XUIScrollView") as IXUIScrollView); + this.m_Close = (base.PanelObject.transform.Find("Close").GetComponent("XUISprite") as IXUISprite); + this.m_Limit = (base.PanelObject.transform.Find("Limit").GetComponent("XUILabel") as IXUILabel); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + this.m_WrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this._OnBagWrapContentUpdated)); + this.m_Close.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this._OnCloseClicked)); + } + + protected override void OnShow() + { + base.OnShow(); + this.RefreshData(); + this._doc.NewItems.bCanClear = true; + } + + protected override void OnHide() + { + this.powerfullMgr.ReturnAll(); + this._doc.NewItems.TryClear(); + base.OnHide(); + } + + public override void OnUnload() + { + this.powerfullMgr.Unload(); + base.OnUnload(); + } + + public override void StackRefresh() + { + base.StackRefresh(); + this.RefreshData(); + } + + public override void RefreshData() + { + base.RefreshData(); + this.m_WrapContent.SetContentCount(this._doc.SelectedSlotItemList.Count, false); + this.m_ScrollView.ResetPosition(); + bool flag = XSingleton.singleton.XPlayerData != null; + if (flag) + { + int level = (int)XSingleton.singleton.XPlayerData.Level; + int num = this._doc.EquipLevel2JadeLevel(level); + this.m_Limit.SetText(XStringDefineProxy.GetString("JADE_LEVEL_REQUIREMENT", new object[] + { + level.ToString(), + num.ToString() + })); + } + else + { + this.m_Limit.SetText(string.Empty); + } + } + + private void _OnBagWrapContentUpdated(Transform t, int index) + { + bool flag = index < 0 || index >= this._doc.SelectedSlotItemList.Count; + if (!flag) + { + XEquipItem xequipItem = XSingleton.singleton.Doc.XBagDoc.GetItemByUID(this._doc.selectedEquip) as XEquipItem; + bool flag2 = xequipItem == null; + if (!flag2) + { + EquipList.RowData equipConf = XBagDocument.GetEquipConf(xequipItem.itemID); + bool flag3 = equipConf == null; + if (!flag3) + { + XJadeItem xjadeItem = this._doc.SelectedSlotItemList[index] as XJadeItem; + JadeEquipHandler.DrawJadeWithAttr(t.gameObject, this._doc.GetSlot(equipConf.EquipPos, this._doc.selectedSlotIndex), xjadeItem, 0u); + IXUISprite ixuisprite = t.GetComponent("XUISprite") as IXUISprite; + ixuisprite.ID = (ulong)((long)index); + ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this._OnBagJadeClicked)); + IXUISprite ixuisprite2 = t.Find("JadeTpl/Icon").GetComponent("XUISprite") as IXUISprite; + bool flag4 = this._doc.CanBeMorePowerful(xequipItem, this._doc.selectedSlotIndex, xjadeItem); + if (flag4) + { + this.powerfullMgr.SetTip(ixuisprite2); + } + else + { + this.powerfullMgr.ReturnInstance(ixuisprite2); + } + t.name = XSingleton.singleton.StringCombine("jade", xjadeItem.itemID.ToString()); + } + } + } + } + + private void _OnBagJadeClicked(IXUISprite iSp) + { + int num = (int)iSp.ID; + bool flag = num < 0 || num >= this._doc.SelectedSlotItemList.Count; + if (!flag) + { + XItem xitem = this._doc.SelectedSlotItemList[num]; + this.m_TargetJadeUID = xitem.uid; + bool bBinding = xitem.bBinding; + if (bBinding) + { + this._doc.ReqPutOnJade(this.m_TargetJadeUID); + base.SetVisible(false); + } + else + { + XSingleton.singleton.ShowModalDialog(XStringDefineProxy.GetString("BINDING_CONFIRM"), XStringDefineProxy.GetString("COMMON_OK"), XStringDefineProxy.GetString("COMMON_CANCEL"), new ButtonClickEventHandler(this._Equip)); + } + } + } + + private bool _Equip(IXUIButton btn) + { + this._doc.ReqPutOnJade(this.m_TargetJadeUID); + XSingleton.singleton.CloseModalDlg(); + base.SetVisible(false); + return true; + } + + private void _OnCloseClicked(IXUISprite iSp) + { + base.SetVisible(false); + } + } +} -- cgit v1.1-26-g67d0