From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/LevelRewardRiftHandler.cs | 288 +++++++++++++++++++++ 1 file changed, 288 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/LevelRewardRiftHandler.cs (limited to 'Client/Assets/Scripts/XMainClient/LevelRewardRiftHandler.cs') diff --git a/Client/Assets/Scripts/XMainClient/LevelRewardRiftHandler.cs b/Client/Assets/Scripts/XMainClient/LevelRewardRiftHandler.cs new file mode 100644 index 00000000..6d9a2c5c --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/LevelRewardRiftHandler.cs @@ -0,0 +1,288 @@ +using System; +using KKSG; +using UILib; +using UnityEngine; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class LevelRewardRiftHandler : DlgHandlerBase + { + protected override string FileName + { + get + { + return "Battle/LevelReward/LevelRewardTeamMysterious"; + } + } + + private XLevelRewardDocument _doc = null; + + private XRiftDocument _rift_doc = null; + + private IXUILabel[] m_level_req = new IXUILabel[3]; + + private IXUISprite[] m_level_req_done = new IXUISprite[3]; + + private Transform m_star_frame; + + private Transform[] m_stars = new Transform[3]; + + private IXUITweenTool m_star_tween; + + private Transform[] m_star_fx = new Transform[3]; + + private XUIPool m_ActivityItemPool = new XUIPool(XSingleton.singleton.m_uiTool); + + private IXUISprite m_ActivityRestart; + + private IXUISprite m_ActivityReturn; + + private IXUILabel m_lblRift; + + private IXUILabel m_lblBtm; + + private IUIDummy m_snapshot; + + private Transform m_BrokeRecord; + + private uint m_show_time_token = 0u; + + protected override void Init() + { + base.Init(); + this._doc = XDocuments.GetSpecificDocument(XLevelRewardDocument.uuID); + this._rift_doc = XDocuments.GetSpecificDocument(XRiftDocument.uuID); + this.InitUI(); + } + + private void InitUI() + { + for (int i = 0; i < 3; i++) + { + this.m_level_req[i] = (base.PanelObject.transform.Find(string.Format("Bg/StarsReq/Req{0}/Tip", i + 1)).GetComponent("XUILabel") as IXUILabel); + this.m_level_req_done[i] = (base.PanelObject.transform.Find(string.Format("Bg/StarsReq/Req{0}/Done", i + 1)).GetComponent("XUISprite") as IXUISprite); + this.m_stars[i] = base.PanelObject.transform.Find(string.Format("Bg/Stars/Star{0}", i + 1)); + this.m_star_fx[i] = base.PanelObject.transform.Find(string.Format("Bg/Stars/Star{0}/Fx", i + 1)); + } + this.m_star_tween = (base.PanelObject.GetComponent("XUIPlayTween") as IXUITweenTool); + this.m_star_frame = base.PanelObject.transform.Find("Bg/Stars"); + this.m_BrokeRecord = base.transform.Find("BrokeRecord"); + this.m_lblRift = (base.transform.Find("Bg/Time").GetComponent("XUILabel") as IXUILabel); + this.m_lblBtm = (base.transform.Find("Bg/SealTip").GetComponent("XUILabel") as IXUILabel); + this.m_ActivityRestart = (base.transform.Find("Bg/Restart").GetComponent("XUISprite") as IXUISprite); + this.m_ActivityReturn = (base.transform.Find("Bg/Return").GetComponent("XUISprite") as IXUISprite); + Transform transform = base.transform.Find("Bg/ItemList/ScrollView/Item"); + this.m_ActivityItemPool.SetupPool(transform.parent.gameObject, transform.gameObject, 5u, false); + this.m_snapshot = (base.PanelObject.transform.Find("Bg/Snapshot/Snapshot").GetComponent("UIDummy") as IUIDummy); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + this.m_ActivityRestart.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnRestartClick)); + this.m_ActivityReturn.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnReturnClick)); + } + + private void OnRestartClick(IXUISprite sp) + { + bool flag = !this._doc.IsEndLevel; + if (flag) + { + base.SetVisible(false); + bool flag2 = DlgBase.singleton.IsLoaded(); + if (flag2) + { + DlgBase.singleton.SetVisiblePure(true); + } + string sceneBGM = XSingleton.singleton.GetSceneBGM(XSingleton.singleton.SceneID); + XSingleton.singleton.PlayBGM(sceneBGM); + DlgBase.singleton.SetFakeHide(false); + } + else + { + this._doc.SendLeaveScene(); + } + } + + private void OnReturnClick(IXUISprite sp) + { + this._doc.SendLeaveScene(); + } + + protected override void OnShow() + { + base.OnShow(); + this.ShowRiftFrame(); + this.ShowStarReq(); + bool flag = this._rift_doc != null; + if (flag) + { + this._rift_doc.stop_timer = true; + } + } + + protected override void OnHide() + { + XSingleton.singleton.KillTimer(this.m_show_time_token); + XSingleton.singleton.EnableMainDummy(false, null); + base.OnHide(); + } + + public override void OnUnload() + { + XSingleton.singleton.OnUIUnloadMainDummy(this.m_snapshot); + XSingleton.singleton.KillTimer(this.m_show_time_token); + base.OnUnload(); + } + + public void ShowRiftFrame() + { + bool flag = this._doc.CurrentStage == SceneType.SCENE_RIFT; + if (flag) + { + uint rank = this._doc.GerenalBattleData.Rank; + this.m_BrokeRecord.gameObject.SetActive(this._doc.BrokeRecords); + for (int i = 0; i < 3; i++) + { + bool flag2 = (long)i < (long)((ulong)rank); + if (flag2) + { + this.m_stars[i].gameObject.SetActive(true); + this.m_star_tween.SetTweenGroup(i + 1); + this.m_star_tween.PlayTween(true, -1f); + this.m_star_fx[i].gameObject.SetActive((long)i == (long)((ulong)(rank - 1u))); + } + else + { + this.m_stars[i].gameObject.SetActive(false); + this.m_star_fx[i].gameObject.SetActive(false); + } + } + this.m_star_frame.localPosition -= new Vector3(this.m_stars[0].localPosition.x * (3u - rank) / 2f, 0f); + for (int j = 0; j < 3; j++) + { + this.m_level_req[j].SetVisible(false); + this.m_level_req_done[j].SetVisible(false); + } + bool flag3 = this._doc.RiftResult.riftItemFlag == 1u; + if (flag3) + { + this.m_lblBtm.SetText(XStringDefineProxy.GetString("ERR_RIFT_REWARD_TOGET")); + } + else + { + bool flag4 = this._doc.RiftResult.riftItemFlag == 2u; + if (flag4) + { + this.m_lblBtm.SetText(XStringDefineProxy.GetString("ERR_RIFT_REWARD_TOGET")); + } + else + { + bool flag5 = this._doc.RiftResult.riftItemFlag == 3u; + if (flag5) + { + this.m_lblBtm.SetText(XStringDefineProxy.GetString("ERR_RIFT_CREATER_LEAVE")); + } + else + { + this.m_lblBtm.SetText(XStringDefineProxy.GetString("ERR_RIFT_PASSAGAIN")); + } + } + } + int num = -2; + int num2 = -1; + bool flag6 = this._doc.RiftResult.riftFloor == (uint)num; + if (flag6) + { + this.m_lblRift.SetText(XStringDefineProxy.GetString("ERR_RIFT_CREATER_LEAVE_CANNOT_LEVELUP")); + this.m_ActivityRestart.SetVisible(true); + } + else + { + bool flag7 = this._doc.RiftResult.riftFloor == (uint)num2; + if (flag7) + { + this.m_lblRift.SetText(XStringDefineProxy.GetString("ERR_RIFT_LEVELMAX")); + this.m_ActivityRestart.SetVisible(false); + } + else + { + this.m_lblRift.SetText(XStringDefineProxy.GetString("ERR_RIFT_LEVELUP", new object[] + { + this._doc.RiftResult.riftFloor + })); + this.m_ActivityRestart.SetVisible(true); + } + } + this.m_ActivityItemPool.FakeReturnAll(); + for (int k = 0; k < this._doc.Items.Count; k++) + { + GameObject gameObject = this.m_ActivityItemPool.FetchGameObject(true); + IXUISprite ixuisprite = gameObject.transform.Find("Icon").GetComponent("XUISprite") as IXUISprite; + ixuisprite.ID = (ulong)this._doc.Items[k].itemID; + XSingleton.singleton.normalItemDrawer.DrawItem(gameObject, (int)this._doc.Items[k].itemID, (int)this._doc.Items[k].itemCount, false); + gameObject.transform.localPosition = new Vector3(this.m_ActivityItemPool.TplPos.x + (float)(k * this.m_ActivityItemPool.TplWidth), this.m_ActivityItemPool.TplPos.y); + bool isbind = this._doc.Items[k].isbind; + if (isbind) + { + ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(XSingleton.singleton.OnBindItemClick)); + } + else + { + ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(XSingleton.singleton.OnItemClick)); + } + } + XSingleton.singleton.EnableMainDummy(true, this.m_snapshot); + float interval = XSingleton.singleton.SetMainAnimationGetLength(XSingleton.singleton.Player.Present.PresentLib.Disappear); + this.m_show_time_token = XSingleton.singleton.SetTimer(interval, new XTimerMgr.ElapsedEventHandler(this.KillDummyTimer), null); + this.m_ActivityItemPool.ActualReturnAll(false); + } + else + { + XSingleton.singleton.AddErrorLog("error stage:" + this._doc.CurrentStage, null, null, null, null, null); + } + } + + private void KillDummyTimer(object sender) + { + XSingleton.singleton.KillTimer(this.m_show_time_token); + XSingleton.singleton.SetMainAnimation(XSingleton.singleton.Player.Present.PresentLib.AttackIdle); + } + + private void ShowStarReq() + { + int num = 0; + for (int i = 0; i < XLevelRewardDocument.Table.Table.Length; i++) + { + bool flag = XLevelRewardDocument.Table.Table[i].scendid == this._doc.CurrentScene; + if (flag) + { + num = i; + break; + } + } + this.m_level_req[0].SetVisible(true); + this.m_level_req[1].SetVisible(true); + this.m_level_req[2].SetVisible(true); + this.m_level_req[1].SetText(LevelRewardGerenalHandler.GetReqText(XLevelRewardDocument.Table.Table[num], 1)); + this.m_level_req[2].SetText(LevelRewardGerenalHandler.GetReqText(XLevelRewardDocument.Table.Table[num], 2)); + int num2 = 0; + while (num2 < this._doc.GerenalBattleData.Stars.Count && num2 < 3) + { + bool flag2 = this._doc.GerenalBattleData.Stars[num2] == 1u; + if (flag2) + { + this.m_level_req_done[num2].SetVisible(true); + } + else + { + this.m_level_req_done[num2].SetVisible(false); + } + num2++; + } + } + } +} -- cgit v1.1-26-g67d0