From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/UI/XCampDuelRankRewardHandler.cs | 129 +++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/XCampDuelRankRewardHandler.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/XCampDuelRankRewardHandler.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/XCampDuelRankRewardHandler.cs b/Client/Assets/Scripts/XMainClient/UI/XCampDuelRankRewardHandler.cs new file mode 100644 index 00000000..4a02711f --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/XCampDuelRankRewardHandler.cs @@ -0,0 +1,129 @@ +using System; +using System.Collections.Generic; +using UILib; +using UnityEngine; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class XCampDuelRankRewardHandler : DlgHandlerBase + { + protected override string FileName + { + get + { + return "GameSystem/CampDuelRankRewardHandler"; + } + } + + public IXUIButton m_Close; + + public XUIPool m_RewardPool = new XUIPool(XSingleton.singleton.m_uiTool); + + public XUIPool m_ItemPool = new XUIPool(XSingleton.singleton.m_uiTool); + + public IXUILabel m_RightText; + + public IXUILabel m_BottomText; + + public IXUIScrollView m_ScrollView; + + protected override void Init() + { + base.Init(); + Transform transform = base.transform.Find("Bg"); + this.m_Close = (transform.Find("Close").GetComponent("XUIButton") as IXUIButton); + this.m_BottomText = (transform.Find("BottomText").GetComponent("XUILabel") as IXUILabel); + this.m_RightText = (transform.Find("Right/Text").GetComponent("XUILabel") as IXUILabel); + this.m_ScrollView = (transform.Find("ScrollView").GetComponent("XUIScrollView") as IXUIScrollView); + this.m_RewardPool.SetupPool(null, transform.Find("ScrollView/RewardTpl").gameObject, 8u, false); + this.m_ItemPool.SetupPool(null, transform.Find("ScrollView/Item").gameObject, 10u, false); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + this.m_Close.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnCloseClicked)); + } + + public bool OnCloseClicked(IXUIButton btn) + { + base.SetVisible(false); + return true; + } + + protected override void OnShow() + { + base.OnShow(); + this.RefreshList(true); + this.m_BottomText.gameObject.SetActive(true); + this.m_BottomText.SetText(XStringDefineProxy.GetString("CAMPDUEL_RANK_REWARD")); + this.m_RightText.gameObject.SetActive(true); + this.m_RightText.SetText(XTempActivityDocument.Doc.GetEndTime(XCampDuelDocument.Doc.ActInfo, 1).ToString(XStringDefineProxy.GetString("CAMPDUEL_END_TIME"))); + } + + public void RefreshList(bool resetPos = true) + { + List rankRewardList = XCampDuelDocument.Doc.GetRankRewardList(); + bool flag = rankRewardList == null; + if (!flag) + { + this.m_RewardPool.FakeReturnAll(); + this.m_ItemPool.FakeReturnAll(); + int i = 0; + for (int j = 0; j < rankRewardList.Count; j++) + { + bool isWin = rankRewardList[j].IsWin; + if (isWin) + { + GameObject gameObject = this.m_RewardPool.FetchGameObject(false); + this.RefreshOneRankItem(gameObject.transform.Find("Bg/Win"), rankRewardList[j]); + while (i < rankRewardList.Count) + { + bool flag2 = !rankRewardList[i].IsWin; + if (flag2) + { + this.RefreshOneRankItem(gameObject.transform.Find("Bg/Lose"), rankRewardList[i]); + i++; + break; + } + i++; + } + gameObject.transform.localPosition = new Vector3(0f, (float)(-(float)this.m_RewardPool.TplHeight * j)) + this.m_RewardPool.TplPos; + } + } + this.m_ItemPool.ActualReturnAll(false); + this.m_RewardPool.ActualReturnAll(false); + if (resetPos) + { + this.m_ScrollView.ResetPosition(); + } + } + } + + private void RefreshOneRankItem(Transform t, CampDuelRankReward.RowData data) + { + IXUILabel ixuilabel = t.Find("Rank/RankNum").GetComponent("XUILabel") as IXUILabel; + bool flag = data.Rank[0] == data.Rank[1]; + if (flag) + { + ixuilabel.SetText(string.Format(XStringDefineProxy.GetString("Qualifying_Rank_Reward_Desc1"), data.Rank[0])); + } + else + { + ixuilabel.SetText(string.Format(XStringDefineProxy.GetString("Qualifying_Rank_Reward_Desc2"), data.Rank[1])); + } + Transform parent = t.Find("Item"); + for (int i = 0; i < (int)data.Reward.count; i++) + { + GameObject gameObject = this.m_ItemPool.FetchGameObject(false); + XSingleton.singleton.normalItemDrawer.DrawItem(gameObject, data.Reward[i, 0], data.Reward[i, 1], false); + IXUISprite ixuisprite = gameObject.transform.Find("Icon").GetComponent("XUISprite") as IXUISprite; + ixuisprite.ID = (ulong)((long)data.Reward[i, 0]); + ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(XSingleton.singleton.OnItemClick)); + XSingleton.singleton.AddChild(parent, gameObject.transform); + gameObject.transform.localPosition = new Vector3((float)(this.m_ItemPool.TplWidth * i), 0f); + } + } + } +} -- cgit v1.1-26-g67d0