From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/GuildCampRankHandler.cs | 106 +++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/GuildCampRankHandler.cs (limited to 'Client/Assets/Scripts/XMainClient/GuildCampRankHandler.cs') diff --git a/Client/Assets/Scripts/XMainClient/GuildCampRankHandler.cs b/Client/Assets/Scripts/XMainClient/GuildCampRankHandler.cs new file mode 100644 index 00000000..9467b4a9 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/GuildCampRankHandler.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections.Generic; +using UILib; +using UnityEngine; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class GuildCampRankHandler : DlgHandlerBase + { + protected override string FileName + { + get + { + return "Guild/GuildSystem/GuildRankFrame"; + } + } + + private XGuildSmallMonsterDocument _doc = null; + + private GameObject m_objTpl; + + private IXUIWrapContent m_wrapContent; + + private IXUIScrollView m_scrool; + + private IXUIButton m_btnClose; + + public XUIPool m_RewardItemPool = new XUIPool(XSingleton.singleton.m_uiTool); + + private List list = new List(); + + protected override void Init() + { + base.Init(); + this.m_objTpl = base.transform.Find("Bg/Bg/ScrollView/wrapcontent/RewardTpl/Bg/tpl").gameObject; + this.m_btnClose = (base.transform.Find("Bg/Close").GetComponent("XUIButton") as IXUIButton); + this.m_scrool = (base.transform.Find("Bg/Bg/ScrollView").GetComponent("XUIScrollView") as IXUIScrollView); + this.m_wrapContent = (base.transform.Find("Bg/Bg/ScrollView/wrapcontent").GetComponent("XUIWrapContent") as IXUIWrapContent); + this._doc = XDocuments.GetSpecificDocument(XGuildSmallMonsterDocument.uuID); + this.m_wrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this.RefreshItems)); + this.m_RewardItemPool.SetupPool(base.transform.gameObject, this.m_objTpl, 30u, false); + } + + protected override void OnShow() + { + base.OnShow(); + this.DestroyItems(); + this.m_scrool.ResetPosition(); + this.m_wrapContent.SetContentCount(XGuildSmallMonsterDocument._guildRankTable.Table.Length, false); + } + + protected override void OnHide() + { + base.OnHide(); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + this.m_btnClose.RegisterClickEventHandler(new ButtonClickEventHandler(DlgBase.singleton.CloseRankHandler)); + } + + private void RefreshItems(Transform t, int index) + { + GuildCampRank.RowData[] table = XGuildSmallMonsterDocument._guildRankTable.Table; + GuildCampRank.RowData rowData = table[index]; + IXUILabel ixuilabel = t.Find("Bg/Rank/RankNum").GetComponent("XUILabel") as IXUILabel; + ixuilabel.SetText(rowData.Rank.ToString()); + for (int i = 0; i < rowData.Reward.Count; i++) + { + GameObject gameObject = this.m_RewardItemPool.FetchGameObject(false); + gameObject.transform.parent = t; + gameObject.transform.localScale = Vector3.one; + gameObject.transform.localPosition = new Vector3((float)(this.m_RewardItemPool.TplWidth * i) + this.m_RewardItemPool._tpl.transform.localPosition.x, 0f); + IXUISprite ixuisprite = gameObject.transform.Find("Icon").GetComponent("XUISprite") as IXUISprite; + ixuisprite.ID = (ulong)rowData.Reward[i, 0]; + XSingleton.singleton.normalItemDrawer.DrawItem(gameObject, (int)rowData.Reward[i, 0], (int)rowData.Reward[i, 1], false); + ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(XSingleton.singleton.OnItemClick)); + } + } + + private GameObject FetchItem() + { + GameObject gameObject = XCommon.Instantiate(this.m_objTpl); + gameObject.SetActive(true); + this.list.Add(gameObject); + return gameObject; + } + + private void DestroyItems() + { + for (int i = 0; i < this.list.Count; i++) + { + bool flag = this.list[i] != null; + if (flag) + { + UnityEngine.Object.Destroy(this.list[i]); + } + } + this.list.Clear(); + } + } +} -- cgit v1.1-26-g67d0