From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../UI/XWelffareFirstRechargrHandler.cs | 206 +++++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/XWelffareFirstRechargrHandler.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/XWelffareFirstRechargrHandler.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/XWelffareFirstRechargrHandler.cs b/Client/Assets/Scripts/XMainClient/UI/XWelffareFirstRechargrHandler.cs new file mode 100644 index 00000000..60bc3ea9 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/XWelffareFirstRechargrHandler.cs @@ -0,0 +1,206 @@ +using System; +using System.Collections.Generic; +using UILib; +using UnityEngine; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class XWelffareFirstRechargrHandler : DlgHandlerBase + { + protected override string FileName + { + get + { + return "GameSystem/Welfare/RechargeFirstGift"; + } + } + + private IXUILabel m_contentLabel; + + private IXUIButton m_rechargeBtn; + + private IXUIButton m_getGiftBtn; + + private XUIPool m_itemPool; + + private IXUIList m_itemList; + + private List m_ItemEffectList; + + private XWelfareDocument _Doc; + + protected override void Init() + { + base.Init(); + this._Doc = XDocuments.GetSpecificDocument(XWelfareDocument.uuID); + this.m_ItemEffectList = new List(); + this.m_contentLabel = (base.PanelObject.transform.Find("Content").GetComponent("XUILabel") as IXUILabel); + this.m_rechargeBtn = (base.PanelObject.transform.Find("Recharge").GetComponent("XUIButton") as IXUIButton); + this.m_getGiftBtn = (base.PanelObject.transform.Find("GetGift").GetComponent("XUIButton") as IXUIButton); + this.m_itemList = (base.PanelObject.transform.Find("Reward").GetComponent("XUIList") as IXUIList); + this.m_itemPool = new XUIPool(XSingleton.singleton.m_uiTool); + Transform transform = base.PanelObject.transform.Find("Reward/item"); + this.m_itemPool.SetupPool(this.m_itemList.gameObject, transform.gameObject, 5u, false); + this.InitAwardList(); + } + + protected override void OnShow() + { + base.OnShow(); + this.RefreshData(); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + this.m_rechargeBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.ClickRechargeHandler)); + this.m_getGiftBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.ClickGetGiftHandler)); + } + + private bool ClickRechargeHandler(IXUIButton btn) + { + DlgBase.singleton.ShowPurchase(ItemEnum.DIAMOND); + return true; + } + + private bool ClickGetGiftHandler(IXUIButton btn) + { + this._Doc.GetPayFirstAward(); + return true; + } + + protected override void OnHide() + { + base.OnHide(); + } + + public override void OnUnload() + { + bool flag = this.m_itemPool != null; + if (flag) + { + this.m_itemPool.ReturnAllDisable(); + this.m_itemPool = null; + } + bool flag2 = this.m_ItemEffectList != null; + if (flag2) + { + int i = 0; + int count = this.m_ItemEffectList.Count; + while (i < count) + { + XSingleton.singleton.DestroyFx(this.m_ItemEffectList[i], true); + i++; + } + this.m_ItemEffectList.Clear(); + this.m_ItemEffectList = null; + } + base.OnUnload(); + } + + private void ClearEffectList() + { + bool flag = this.m_ItemEffectList != null; + if (flag) + { + int i = 0; + int count = this.m_ItemEffectList.Count; + while (i < count) + { + XSingleton.singleton.DestroyFx(this.m_ItemEffectList[i], true); + i++; + } + this.m_ItemEffectList.Clear(); + } + } + + private void SetItemEffect(GameObject parent, string effectName) + { + bool flag = string.IsNullOrEmpty(effectName); + if (!flag) + { + XFx xfx = XSingleton.singleton.CreateUIFx(effectName, parent.transform, false); + bool flag2 = xfx != null; + if (flag2) + { + this.m_ItemEffectList.Add(xfx); + } + } + } + + public override void StackRefresh() + { + base.StackRefresh(); + this.RefreshData(); + } + + public override void RefreshData() + { + bool flag = !base.IsVisible(); + if (!flag) + { + this.m_rechargeBtn.SetVisible(!this._Doc.HasFullFirstRecharge()); + this.m_getGiftBtn.SetVisible(this._Doc.GetCanRechargeFirst()); + } + } + + private void InitAwardList() + { + this.ClearEffectList(); + PayFirst.RowData rowData; + bool flag = this._Doc.TryGetPayFirstData(XSysDefine.XSys_Welfare_FirstRechange, out rowData); + if (flag) + { + this.m_itemPool.FakeReturnAll(); + List list = new List(); + List list2; + bool flag2 = XBagDocument.TryGetChestListConf(rowData.Award, out list2); + if (flag2) + { + int i = 0; + int count = list2.Count; + while (i < count) + { + ChestList.RowData rowData2 = list2[i]; + bool flag3 = !XBagDocument.IsProfMatchedFeable((uint)rowData2.Profession, XItemDrawerParam.DefaultProfession, false); + if (!flag3) + { + bool flag4 = XBagDocument.TryGetDropConf(rowData2.DropID, ref list); + if (flag4) + { + int j = 0; + int count2 = list.Count; + while (j < count2) + { + ItemList.RowData itemConf = XBagDocument.GetItemConf(list[j].ItemID); + GameObject gameObject = this.m_itemPool.FetchGameObject(false); + gameObject.transform.parent = this.m_itemList.gameObject.transform; + XSingleton.singleton.normalItemDrawer.DrawItem(gameObject, itemConf, list[j].ItemCount, false); + IXUISprite ixuisprite = gameObject.transform.Find("Icon").GetComponent("XUISprite") as IXUISprite; + IXUISprite ixuisprite2 = gameObject.transform.Find("Icon/Icon").GetComponent("XUISprite") as IXUISprite; + bool flag5 = itemConf == null; + if (flag5) + { + XSingleton.singleton.AddGreenLog("Not Exsit Item:", list[j].ItemID.ToString(), null, null, null, null); + } + else + { + this.SetItemEffect(ixuisprite2.gameObject, itemConf.ItemEffect); + ixuisprite.ID = (ulong)((long)list[j].ItemID); + ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(XSingleton.singleton.OnItemClick)); + } + j++; + } + } + } + i++; + } + } + this.m_itemPool.ActualReturnAll(false); + this.m_itemList.Refresh(); + } + } + } +} -- cgit v1.1-26-g67d0