From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/PointRewardHandler.cs | 180 +++++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/PointRewardHandler.cs (limited to 'Client/Assets/Scripts/XMainClient/PointRewardHandler.cs') diff --git a/Client/Assets/Scripts/XMainClient/PointRewardHandler.cs b/Client/Assets/Scripts/XMainClient/PointRewardHandler.cs new file mode 100644 index 00000000..f515d334 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/PointRewardHandler.cs @@ -0,0 +1,180 @@ +using System; +using System.Collections.Generic; +using UILib; +using UnityEngine; +using XMainClient.UI; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class PointRewardHandler : DlgHandlerBase + { + protected override string FileName + { + get + { + return "GameSystem/PointRewardHandler"; + } + } + + private List m_Data; + + public XSysDefine Sys; + + 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_CurrentText; + + public IXUILabel m_CurrentPoint; + + public IXUILabel m_BottomText; + + public IXUILabel m_RightText; + + public IXUILabel m_TitleText; + + 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_CurrentText = (transform.Find("CurrentPoint").GetComponent("XUILabel") as IXUILabel); + this.m_CurrentPoint = (transform.Find("CurrentPoint/Text").GetComponent("XUILabel") as IXUILabel); + this.m_BottomText = (transform.Find("BottomText").GetComponent("XUILabel") as IXUILabel); + this.m_RightText = (transform.Find("RightText").GetComponent("XUILabel") as IXUILabel); + this.m_TitleText = (transform.Find("Title/Label").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/ItemTpl").gameObject, 5u, 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.RefreshText(); + } + + public override void OnUnload() + { + base.OnUnload(); + } + + public void SetData(List data, XSysDefine sys) + { + this.m_Data = data; + this.Sys = sys; + } + + public void RefreshList(bool resetPos = true) + { + bool flag = this.m_Data == null; + if (!flag) + { + this.m_RewardPool.FakeReturnAll(); + this.m_ItemPool.FakeReturnAll(); + for (int i = 0; i < this.m_Data.Count; i++) + { + GameObject gameObject = this.m_RewardPool.FetchGameObject(false); + IXUILabel ixuilabel = gameObject.transform.Find("Bg/Point/Num").GetComponent("XUILabel") as IXUILabel; + ixuilabel.SetText(this.m_Data[i].point.ToString()); + for (int j = 0; j < this.m_Data[i].rewardItem.size; j++) + { + GameObject gameObject2 = this.m_ItemPool.FetchGameObject(false); + XSingleton.singleton.normalItemDrawer.DrawItem(gameObject2, this.m_Data[i].rewardItem.BufferKeys[j], this.m_Data[i].rewardItem.BufferValues[j], false); + IXUISprite ixuisprite = gameObject2.transform.Find("Icon").GetComponent("XUISprite") as IXUISprite; + ixuisprite.ID = (ulong)((long)this.m_Data[i].rewardItem.BufferKeys[j]); + ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(XSingleton.singleton.OnItemClick)); + gameObject2.transform.parent = gameObject.transform; + gameObject2.transform.localPosition = new Vector3(this.m_ItemPool.TplPos.x - this.m_RewardPool.TplPos.x + (float)(this.m_ItemPool.TplWidth * j), 0f); + } + gameObject.transform.localPosition = new Vector3(0f, (float)(-(float)this.m_RewardPool.TplHeight * i)) + this.m_RewardPool.TplPos; + this.RefreshItemText(gameObject, this.m_Data[i]); + } + this.m_ItemPool.ActualReturnAll(false); + this.m_RewardPool.ActualReturnAll(false); + if (resetPos) + { + this.m_ScrollView.ResetPosition(); + } + } + } + + private void RefreshText() + { + this.m_RightText.gameObject.SetActive(false); + this.m_BottomText.gameObject.SetActive(false); + this.m_CurrentText.gameObject.SetActive(false); + this.m_TitleText.SetText(XStringDefineProxy.GetString("POINT_REWARD")); + XSysDefine sys = this.Sys; + if (sys != XSysDefine.XSys_BigMelee) + { + if (sys != XSysDefine.XSys_Battlefield) + { + if (sys == XSysDefine.XSys_MulActivity_SkyArena) + { + this.m_RightText.gameObject.SetActive(true); + this.m_RightText.SetText(XStringDefineProxy.GetString("POINT_REWARD_RIGHT_TIP")); + this.m_TitleText.SetText(XStringDefineProxy.GetString("PREVIEW_REWARD")); + } + } + else + { + this.m_RightText.gameObject.SetActive(true); + this.m_BottomText.gameObject.SetActive(true); + this.m_RightText.SetText(XStringDefineProxy.GetString("POINT_REWARD_RIGHT_TIP")); + this.m_BottomText.SetText(XStringDefineProxy.GetString("BATTLEFIELD_POINT_REWARD_BOTTOM_TIP")); + } + } + else + { + this.m_RightText.gameObject.SetActive(true); + this.m_BottomText.gameObject.SetActive(true); + this.m_RightText.SetText(XStringDefineProxy.GetString("POINT_REWARD_RIGHT_TIP")); + this.m_BottomText.SetText(XStringDefineProxy.GetString("BIG_MELEE_POINT_REWARD_BOTTOM_TIP")); + } + } + + private void RefreshItemText(GameObject go, PointRewardData data) + { + IXUILabel ixuilabel = go.transform.Find("Bg/Count").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = go.transform.Find("Bg/Point").GetComponent("XUILabel") as IXUILabel; + ixuilabel.gameObject.SetActive(false); + ixuilabel2.SetText(XStringDefineProxy.GetString("POINT_REACH")); + XSysDefine sys = this.Sys; + if (sys != XSysDefine.XSys_Battlefield) + { + if (sys == XSysDefine.XSys_MulActivity_SkyArena) + { + ixuilabel2.SetText(XStringDefineProxy.GetString("FLOOR_REACH")); + } + } + else + { + ixuilabel.gameObject.SetActive(true); + uint pointRewardGetCount = XBattleFieldEntranceDocument.Doc.GetPointRewardGetCount(data.id); + BattleFieldPointReward.RowData curPointRewardList = XBattleFieldEntranceDocument.Doc.GetCurPointRewardList(data.id); + string arg = (curPointRewardList.count - pointRewardGetCount).ToString(); + ixuilabel.SetText(string.Format("{0}/{1}", arg, curPointRewardList.count.ToString())); + } + } + } +} -- cgit v1.1-26-g67d0