From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/UI/MilitaryRankDlg.cs | 350 +++++++++++++++++++++ 1 file changed, 350 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/MilitaryRankDlg.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/MilitaryRankDlg.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/MilitaryRankDlg.cs b/Client/Assets/Scripts/XMainClient/UI/MilitaryRankDlg.cs new file mode 100644 index 00000000..9daf4b36 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/MilitaryRankDlg.cs @@ -0,0 +1,350 @@ +using System; +using UILib; +using UnityEngine; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class MilitaryRankDlg : DlgBase + { + public override bool autoload + { + get + { + return true; + } + } + + public override bool pushstack + { + get + { + return true; + } + } + + public override bool hideMainMenu + { + get + { + return true; + } + } + + public override bool fullscreenui + { + get + { + return true; + } + } + + public override string fileName + { + get + { + return "GameSystem/MilitaryRankDlg"; + } + } + + public override int sysid + { + get + { + return XFastEnumIntEqualityComparer.ToInt(XSysDefine.XSys_MilitaryRank); + } + } + + private XMilitaryRankDocument _doc = null; + + public BattleRecordHandler m_BattleRecordHandler; + + protected override void Init() + { + base.Init(); + this._doc = XDocuments.GetSpecificDocument(XMilitaryRankDocument.uuID); + this.SetRewardInfo(); + base.uiBehaviour.m_RewardFrame.SetActive(false); + DlgHandlerBase.EnsureCreate(ref this.m_BattleRecordHandler, base.uiBehaviour.m_BattleRecordFrame, null, false); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + base.uiBehaviour.m_RewardBtn.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnRewardBtnClick)); + base.uiBehaviour.m_RecordBtn.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnRecordBtnClick)); + base.uiBehaviour.m_RewardCloseBtn.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnRewardCloseBtnClick)); + base.uiBehaviour.m_WrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this.WrapListUpdated)); + base.uiBehaviour.m_Close.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnCloseBtnClick)); + base.uiBehaviour.m_RewardSeasonIcb.ID = 1UL; + base.uiBehaviour.m_RewardResultIcb.ID = 2UL; + base.uiBehaviour.m_RewardSeasonIcb.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnRewardCheckBoxClick)); + base.uiBehaviour.m_RewardResultIcb.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnRewardCheckBoxClick)); + base.uiBehaviour.m_RecordHBtab.ID = 1UL; + base.uiBehaviour.m_RecordCPtab.ID = 0UL; + base.uiBehaviour.m_RecordHBtab.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnRecordTabClick)); + base.uiBehaviour.m_RecordCPtab.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnRecordTabClick)); + IXUIButton ixuibutton = base.uiBehaviour.transform.Find("Bg/Help").GetComponent("XUIButton") as IXUIButton; + ixuibutton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnHelpBtnClicked)); + } + + protected override void OnShow() + { + base.OnShow(); + XSingleton.singleton.EnableMainDummy(true, base.uiBehaviour.m_snapshotTransfrom); + this._doc.QueryRankInfo(); + } + + protected override void OnHide() + { + this.m_BattleRecordHandler.SetVisible(false); + XSingleton.singleton.EnableMainDummy(false, null); + base.OnHide(); + } + + public override void StackRefresh() + { + base.StackRefresh(); + } + + public override void LeaveStackTop() + { + base.LeaveStackTop(); + } + + protected override void OnUnload() + { + DlgHandlerBase.EnsureUnload(ref this.m_BattleRecordHandler); + base.OnUnload(); + } + + public void Refresh() + { + this.SetBaseInfo(); + base.uiBehaviour.m_WrapContent.SetContentCount(this._doc.RankList.Count, false); + base.uiBehaviour.m_ScrollView.ResetPosition(); + this.SetRankData(base.uiBehaviour.m_MyRank, true, 0); + } + + private void SetBaseInfo() + { + XActivityDocument specificDocument = XDocuments.GetSpecificDocument(XActivityDocument.uuID); + DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0); + int hours = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).Hours; + dateTime = dateTime.AddSeconds((double)((ulong)specificDocument.ServerTimeSince1970 + (ulong)((long)(hours * 3600)))); + int num = DateTime.DaysInMonth(dateTime.Year, dateTime.Month); + string arg = string.Format("{0}.{1}.1-{2}.{3}.{4}", new object[] + { + dateTime.Year, + dateTime.Month, + dateTime.Year, + dateTime.Month, + num + }); + base.uiBehaviour.m_DateTime.SetText(string.Format(XStringDefineProxy.GetString("MilitaryDateTime"), arg)); + MilitaryRankByExploit.RowData byMilitaryRank = this._doc.MilitaryReader.GetByMilitaryRank(this._doc.MyData.MilitaryLevel); + bool flag = byMilitaryRank == null; + if (!flag) + { + MilitaryRankByExploit.RowData byMilitaryRank2 = this._doc.MilitaryReader.GetByMilitaryRank(this._doc.MyData.MilitaryLevel + 1u); + base.uiBehaviour.m_MilitaryValue.SetText(this._doc.MyData.MilitaryPoint.ToString()); + base.uiBehaviour.m_MilitaryRange.SetText(byMilitaryRank.ShowRange); + base.uiBehaviour.m_NextMilitary.SetText((byMilitaryRank2 == null) ? XStringDefineProxy.GetString("MilitaryLevelMax") : byMilitaryRank2.Name); + base.uiBehaviour.m_NextMilitaryIcon.spriteName = ((byMilitaryRank2 == null) ? "" : byMilitaryRank2.Icon); + base.uiBehaviour.m_MilitaryName.SetText(byMilitaryRank.Name); + base.uiBehaviour.m_MilitaryIcon.spriteName = byMilitaryRank.Icon; + } + } + + private void WrapListUpdated(Transform t, int i) + { + bool flag = i < 0 || i >= this._doc.RankList.Count; + if (!flag) + { + base.uiBehaviour.m_EmptyRank.SetActive(this._doc.RankList.Count == 0); + this.SetRankData(t, false, i); + } + } + + private void SetRankData(Transform t, bool isMy, int index) + { + MilitaryRankData militaryRankData = isMy ? this._doc.MyData : this._doc.RankList[index]; + MilitaryRankByExploit.RowData byMilitaryRank = this._doc.MilitaryReader.GetByMilitaryRank(militaryRankData.MilitaryLevel); + IXUILabel ixuilabel = t.Find("Rank").GetComponent("XUILabel") as IXUILabel; + IXUISprite ixuisprite = t.Find("RankImage").GetComponent("XUISprite") as IXUISprite; + IXUILabel ixuilabel2 = t.Find("MilitaryName").GetComponent("XUILabel") as IXUILabel; + IXUISprite ixuisprite2 = t.Find("MilitaryIcon").GetComponent("XUISprite") as IXUISprite; + IXUILabel ixuilabel3 = t.Find("Name").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel4 = t.Find("Value").GetComponent("XUILabel") as IXUILabel; + if (isMy) + { + GameObject gameObject = t.Find("OutOfRange").gameObject; + ixuilabel.SetVisible(militaryRankData.rank != uint.MaxValue); + gameObject.SetActive(militaryRankData.rank == uint.MaxValue); + } + bool flag = militaryRankData.rank < 3u; + if (flag) + { + ixuisprite.SetVisible(true); + ixuisprite.spriteName = string.Format("N{0}", militaryRankData.rank + 1u); + } + else + { + ixuisprite.SetVisible(false); + ixuilabel.SetText((militaryRankData.rank + 1u).ToString()); + } + ixuisprite2.spriteName = ((byMilitaryRank == null) ? "" : byMilitaryRank.Icon); + ixuilabel2.SetText((byMilitaryRank == null) ? XStringDefineProxy.GetString("NONE") : byMilitaryRank.Name); + ixuilabel3.SetText(militaryRankData.name); + ixuilabel4.SetText(militaryRankData.MilitaryPoint.ToString()); + } + + private void SetRewardInfo() + { + base.uiBehaviour.m_RewardItemPool.ReturnAll(true); + base.uiBehaviour.m_RewardSeasonPool.ReturnAll(false); + Vector3 tplPos = base.uiBehaviour.m_RewardSeasonPool.TplPos; + for (int i = 0; i < this._doc.MilitarySeasonReader.Table.Length; i++) + { + MilitaryRankReward.RowData rowData = this._doc.MilitarySeasonReader.Table[i]; + GameObject gameObject = base.uiBehaviour.m_RewardSeasonPool.FetchGameObject(false); + gameObject.transform.localPosition = new Vector3(tplPos.x, tplPos.y - (float)(i * base.uiBehaviour.m_RewardSeasonPool.TplHeight)); + IXUILabel ixuilabel = gameObject.transform.Find("Rank").GetComponent("XUILabel") as IXUILabel; + Transform parent = gameObject.transform.Find("Reward"); + bool flag = rowData.Rank[0] == rowData.Rank[1]; + if (flag) + { + ixuilabel.SetText(string.Format("No.{0}", rowData.Rank[0])); + } + else + { + ixuilabel.SetText(string.Format("No.{0}-{1}", rowData.Rank[0], rowData.Rank[1])); + } + for (int j = 0; j < (int)rowData.Reward.count; j++) + { + GameObject gameObject2 = base.uiBehaviour.m_RewardItemPool.FetchGameObject(false); + gameObject2.transform.parent = parent; + gameObject2.transform.localScale = Vector3.one; + gameObject2.transform.localPosition = new Vector3((float)(j * base.uiBehaviour.m_RewardItemPool.TplWidth), 0f); + ItemList.RowData itemConf = XBagDocument.GetItemConf((int)rowData.Reward[j, 0]); + XSingleton.singleton.normalItemDrawer.DrawItem(gameObject2, itemConf, (int)rowData.Reward[j, 1], false); + XSingleton.singleton.normalItemDrawer.OpenClickShowTooltipEvent(gameObject2, (int)rowData.Reward[j, 0]); + } + } + base.uiBehaviour.m_RewardResultPool.ReturnAll(false); + tplPos = base.uiBehaviour.m_RewardResultPool.TplPos; + for (int k = 0; k < this._doc.MilitaryReader.Table.Length; k++) + { + MilitaryRankByExploit.RowData rowData2 = this._doc.MilitaryReader.Table[k]; + bool flag2 = rowData2.MilitaryExploit[0] == 0u && rowData2.MilitaryExploit[1] == 0u; + GameObject gameObject3 = base.uiBehaviour.m_RewardResultPool.FetchGameObject(false); + gameObject3.transform.localPosition = new Vector3(tplPos.x, tplPos.y - (float)(k * base.uiBehaviour.m_RewardResultPool.TplHeight)); + IXUISprite ixuisprite = gameObject3.transform.Find("MilitaryIcon").GetComponent("XUISprite") as IXUISprite; + IXUILabel ixuilabel2 = gameObject3.transform.Find("MilitaryName").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel3 = gameObject3.transform.Find("Value").GetComponent("XUILabel") as IXUILabel; + ixuisprite.spriteName = rowData2.Icon; + ixuilabel2.SetText(rowData2.Name); + bool flag3 = flag2; + if (flag3) + { + ixuilabel3.SetText(XSingleton.singleton.ReplaceReturn(rowData2.RewardTips)); + } + else + { + ixuilabel3.SetText(string.Format("{0}-{1}", rowData2.MilitaryExploit[0], rowData2.MilitaryExploit[1])); + } + Transform parent2 = gameObject3.transform.Find("Reward"); + for (int l = 0; l < (int)rowData2.Reward.count; l++) + { + GameObject gameObject4 = base.uiBehaviour.m_RewardItemPool.FetchGameObject(false); + gameObject4.transform.parent = parent2; + gameObject4.transform.localScale = Vector3.one; + gameObject4.transform.localPosition = new Vector3((float)(l * base.uiBehaviour.m_RewardItemPool.TplWidth), 0f); + ItemList.RowData itemConf2 = XBagDocument.GetItemConf((int)rowData2.Reward[l, 0]); + XSingleton.singleton.normalItemDrawer.DrawItem(gameObject4, itemConf2, (int)rowData2.Reward[l, 1], false); + XSingleton.singleton.normalItemDrawer.OpenClickShowTooltipEvent(gameObject4, (int)rowData2.Reward[l, 0]); + } + } + } + + private bool OnCloseBtnClick(IXUIButton btn) + { + this.SetVisibleWithAnimation(false, null); + return true; + } + + private void OnRewardBtnClick(IXUISprite iSp) + { + base.uiBehaviour.m_RewardFrame.SetActive(true); + } + + private void OnRecordBtnClick(IXUISprite iSp) + { + this.m_BattleRecordHandler.SetVisible(true); + bool bChecked = base.uiBehaviour.m_RecordHBtab.bChecked; + if (bChecked) + { + this.OnRecordTabClick(base.uiBehaviour.m_RecordHBtab); + } + else + { + this.OnRecordTabClick(base.uiBehaviour.m_RecordCPtab); + } + } + + private bool OnRecordTabClick(IXUICheckBox icb) + { + bool flag = !icb.bChecked; + bool result; + if (flag) + { + result = false; + } + else + { + bool flag2 = icb.ID == 1UL; + if (flag2) + { + XHeroBattleDocument specificDocument = XDocuments.GetSpecificDocument(XHeroBattleDocument.uuID); + specificDocument.QueryBattleRecord(); + } + else + { + XCaptainPVPDocument specificDocument2 = XDocuments.GetSpecificDocument(XCaptainPVPDocument.uuID); + specificDocument2.ReqGetHistory(); + } + result = true; + } + return result; + } + + private void OnRewardCloseBtnClick(IXUISprite iSp) + { + base.uiBehaviour.m_RewardFrame.SetActive(false); + } + + private bool OnRewardCheckBoxClick(IXUICheckBox icb) + { + bool flag = !icb.bChecked; + bool result; + if (flag) + { + result = false; + } + else + { + base.uiBehaviour.m_RewardSeasonFrame.SetActive(icb.ID == 1UL); + base.uiBehaviour.m_RewardResultFrame.SetActive(icb.ID != 1UL); + result = true; + } + return result; + } + + private bool OnHelpBtnClicked(IXUIButton btn) + { + DlgBase.singleton.ShowHelp(XSysDefine.XSys_MilitaryRank); + return true; + } + } +} -- cgit v1.1-26-g67d0