From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/UI/ActivityRiftGuidInfoHandler.cs | 173 +++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/ActivityRiftGuidInfoHandler.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/ActivityRiftGuidInfoHandler.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/ActivityRiftGuidInfoHandler.cs b/Client/Assets/Scripts/XMainClient/UI/ActivityRiftGuidInfoHandler.cs new file mode 100644 index 00000000..350b2c50 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/ActivityRiftGuidInfoHandler.cs @@ -0,0 +1,173 @@ +using System; +using System.Collections.Generic; +using KKSG; +using UILib; +using UnityEngine; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + [Hotfix] + internal class ActivityRiftGuidInfoHandler : DlgHandlerBase + { + public IXUILabel m_lblRank; + + public IXUILabel m_lblTime; + + public IXUILabel m_lblName; + + public IXUIButton m_btnClose; + + public IXUIScrollView m_scroll; + + public GameObject[] m_goBuff = new GameObject[5]; + + public XUIPool m_RankPool = new XUIPool(XSingleton.singleton.m_uiTool); + + private const int max_buff = 5; + + public XRiftDocument _doc; + + private Rift.RowData _bestRift; + + protected override void Init() + { + base.Init(); + this.m_lblName = (base.transform.Find("Bg/Name").GetComponent("XUILabel") as IXUILabel); + this.m_lblTime = (base.transform.Find("Bg/Time").GetComponent("XUILabel") as IXUILabel); + this.m_btnClose = (base.transform.Find("Bg/Close").GetComponent("XUIButton") as IXUIButton); + this.m_lblRank = (base.transform.Find("Bg/Floor").GetComponent("XUILabel") as IXUILabel); + GameObject gameObject = base.transform.Find("Bg/root/RewardTpl").gameObject; + GameObject gameObject2 = base.transform.Find("Bg/root/ScrollView").gameObject; + this.m_scroll = (gameObject2.GetComponent("XUIScrollView") as IXUIScrollView); + this.m_RankPool.SetupPool(gameObject2, gameObject, 2u, false); + for (int i = 0; i < 5; i++) + { + this.m_goBuff[i] = base.transform.Find("Bg/Buff/BossBuff" + i).gameObject; + } + bool flag = this._doc == null; + if (flag) + { + this._doc = XDocuments.GetSpecificDocument(XRiftDocument.uuID); + } + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + this.m_btnClose.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClose)); + } + + public override void OnUnload() + { + this._doc = null; + base.OnUnload(); + } + + protected override void OnShow() + { + base.OnShow(); + bool flag = this._doc == null; + if (flag) + { + this._doc = XDocuments.GetSpecificDocument(XRiftDocument.uuID); + } + bool flag2 = this._doc.guildInfos != null && this._doc.guildInfos.Count > 0; + if (flag2) + { + this.m_lblName.SetText(this._doc.guildInfos[0].roleInfo.name); + this.m_lblRank.SetText(this._doc.guildInfos[0].riftFloor.ToString()); + this.m_lblTime.SetText(this._doc.guildInfos[0].costTime.ToString()); + this._bestRift = this._doc.GetRiftData(this._doc.guildInfos[0].riftFloor, this._doc.currGuidRiftID); + } + else + { + this.m_lblRank.SetText("0"); + this.m_lblTime.SetText("0"); + } + this.RefreshBuff(); + this.RefreshRank(); + } + + private bool OnClose(IXUIButton btn) + { + base.SetVisible(false); + return true; + } + + private void RefreshBuff() + { + List guildBuffIDs = this._doc.guildBuffIDs; + int num = guildBuffIDs.Count + 2; + Rift.RowData bestRift = this._bestRift; + bool flag = bestRift == null; + if (flag) + { + int i = 0; + int num2 = this.m_goBuff.Length; + while (i < num2) + { + this.m_goBuff[i].SetActive(false); + i++; + } + } + else + { + this.m_goBuff[0].SetActive(true); + this.m_goBuff[1].SetActive(true); + this.RefreshBuff(this.m_goBuff[0], string.Empty, XSingleton.singleton.GetValue("RiftAttr"), bestRift.attack + "%"); + this.RefreshBuff(this.m_goBuff[1], string.Empty, XSingleton.singleton.GetValue("RiftHP"), bestRift.hp + "%"); + for (int j = 2; j < num; j++) + { + RiftBuffSuitMonsterType.RowData buffSuitRow = this._doc.GetBuffSuitRow((uint)guildBuffIDs[j - 2], 1); + this.m_goBuff[j].SetActive(true); + this.RefreshBuff(this.m_goBuff[j], buffSuitRow.atlas, buffSuitRow.icon, string.Empty); + } + for (int k = num; k < this.m_goBuff.Length; k++) + { + this.m_goBuff[k].SetActive(false); + } + } + } + + private void RefreshBuff(GameObject go, string atlas, string sp, string text) + { + IXUILabel ixuilabel = go.transform.Find("value").GetComponent("XUILabel") as IXUILabel; + IXUISprite ixuisprite = go.transform.Find("P").GetComponent("XUISprite") as IXUISprite; + ixuilabel.SetText(text); + bool flag = string.IsNullOrEmpty(atlas); + if (flag) + { + ixuisprite.SetSprite(sp); + } + else + { + ixuisprite.SetSprite(sp, atlas, false); + } + } + + private void RefreshRank() + { + bool flag = this._doc.guildInfos != null; + if (flag) + { + this.m_RankPool.FakeReturnAll(); + for (int i = 0; i < this._doc.guildInfos.Count; i++) + { + RiftGuildRankInfo riftGuildRankInfo = this._doc.guildInfos[i]; + GameObject gameObject = this.m_RankPool.FetchGameObject(false); + IXUILabel label = gameObject.transform.Find("Bg/RankNum").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel = gameObject.transform.Find("Bg/T").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = gameObject.transform.Find("Bg/Floor").GetComponent("XUILabel") as IXUILabel; + IXUISprite sp = gameObject.transform.Find("Bg/RankImage").GetComponent("XUISprite") as IXUISprite; + XSingleton.singleton.ShowRank(sp, label, i + 1); + gameObject.transform.localPosition = this.m_RankPool.TplPos - new Vector3(0f, (float)(this.m_RankPool.TplHeight * i)); + ixuilabel.SetText(riftGuildRankInfo.roleInfo.name); + int num = 3 * (5 - i) + 1; + ixuilabel2.SetText(riftGuildRankInfo.riftFloor.ToString()); + } + this.m_RankPool.ActualReturnAll(false); + } + } + } +} -- cgit v1.1-26-g67d0