From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/SkyArenaEntranceView.cs | 207 +++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/SkyArenaEntranceView.cs (limited to 'Client/Assets/Scripts/XMainClient/SkyArenaEntranceView.cs') diff --git a/Client/Assets/Scripts/XMainClient/SkyArenaEntranceView.cs b/Client/Assets/Scripts/XMainClient/SkyArenaEntranceView.cs new file mode 100644 index 00000000..3a87e995 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/SkyArenaEntranceView.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using UILib; +using UnityEngine; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class SkyArenaEntranceView : DlgBase + { + public override string fileName + { + get + { + return "GameSystem/SkyArena/SkyArenaEntrance"; + } + } + + public override int layer + { + get + { + return 1; + } + } + + public override int group + { + get + { + return 1; + } + } + + public override bool autoload + { + get + { + return true; + } + } + + public override bool hideMainMenu + { + get + { + return true; + } + } + + public override bool fullscreenui + { + get + { + return true; + } + } + + public override bool pushstack + { + get + { + return true; + } + } + + public override int sysid + { + get + { + return XFastEnumIntEqualityComparer.ToInt(XSysDefine.XSys_MulActivity_SkyArena); + } + } + + private XSkyArenaEntranceDocument doc = null; + + private PointRewardHandler _PointRewardHandler; + + protected override void Init() + { + this.doc = XDocuments.GetSpecificDocument(XSkyArenaEntranceDocument.uuID); + this.doc.View = this; + } + + public override void RegisterEvent() + { + base.uiBehaviour.m_Close.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnCloseClicked)); + base.uiBehaviour.m_Help.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnHelpClicked)); + base.uiBehaviour.m_SingleJoin.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnStartSingleClicked)); + base.uiBehaviour.m_TeamJoin.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnStartTeamClicked)); + base.uiBehaviour.m_RewardBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnRewardClicked)); + } + + public bool OnCloseClicked(IXUIButton btn) + { + this.SetVisibleWithAnimation(false, null); + return true; + } + + private bool OnHelpClicked(IXUIButton btn) + { + DlgBase.singleton.ShowHelp(XSysDefine.XSys_MulActivity_SkyArena); + return true; + } + + private bool OnStartSingleClicked(IXUIButton btn) + { + this.doc.ReqSingleJoin(); + return true; + } + + private bool OnStartTeamClicked(IXUIButton btn) + { + this.SetVisible(false, true); + XExpeditionDocument specificDocument = XDocuments.GetSpecificDocument(XExpeditionDocument.uuID); + List expeditionList = specificDocument.GetExpeditionList(TeamLevelType.TeamLevelSkyArena); + XTeamDocument specificDocument2 = XDocuments.GetSpecificDocument(XTeamDocument.uuID); + bool flag = expeditionList.Count > 0; + if (flag) + { + specificDocument2.SetAndMatch(expeditionList[0].DNExpeditionID); + } + return true; + } + + protected override void OnShow() + { + base.OnShow(); + this.RefreshPage(); + } + + protected override void OnHide() + { + base.OnHide(); + } + + protected override void OnUnload() + { + DlgHandlerBase.EnsureUnload(ref this._PointRewardHandler); + this.doc.View = null; + base.OnUnload(); + } + + public override void OnUpdate() + { + base.OnUpdate(); + } + + public void RefreshPage() + { + SkyArenaReward.RowData skyArenaRewardShow = this.doc.GetSkyArenaRewardShow(); + base.uiBehaviour.m_RewardPool.FakeReturnAll(); + for (int i = 0; i < skyArenaRewardShow.Reward.Count; i++) + { + GameObject gameObject = base.uiBehaviour.m_RewardPool.FetchGameObject(false); + IXUISprite ixuisprite = gameObject.GetComponent("XUISprite") as IXUISprite; + int spriteWidth = ixuisprite.spriteWidth; + gameObject.transform.localPosition = new Vector3(((float)i + 0.5f - (float)skyArenaRewardShow.Reward.Count / 2f) * (float)spriteWidth, 0f, 0f); + uint num = skyArenaRewardShow.Reward[i, 0]; + Transform transform = gameObject.transform.Find("Item"); + XSingleton.singleton.normalItemDrawer.DrawItem(transform.gameObject, (int)num, 0, false); + IXUISprite ixuisprite2 = transform.Find("Icon").GetComponent("XUISprite") as IXUISprite; + ixuisprite2.ID = (ulong)num; + ixuisprite2.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this._OnItemClick)); + } + base.uiBehaviour.m_RewardPool.ActualReturnAll(false); + base.uiBehaviour.m_Time.SetText(XSingleton.singleton.GetString("SKY_ARENA_TIME")); + } + + private void _OnItemClick(IXUISprite iSp) + { + XSingleton.singleton.ShowTooltipDialog((int)iSp.ID, null); + } + + public bool OnRewardClicked(IXUIButton btn) + { + DlgHandlerBase.EnsureCreate(ref this._PointRewardHandler, base.uiBehaviour.m_Bg, false, null); + this.OpenReward(this._PointRewardHandler); + return true; + } + + public void OpenReward(PointRewardHandler handler) + { + bool flag = handler.Sys != XSysDefine.XSys_MulActivity_SkyArena; + if (flag) + { + List skyArenaRewardList = XSkyArenaEntranceDocument.Doc.GetSkyArenaRewardList(); + List list = new List(skyArenaRewardList.Count); + for (int i = 0; i < skyArenaRewardList.Count; i++) + { + PointRewardData pointRewardData = default(PointRewardData); + pointRewardData.Init(); + pointRewardData.point = skyArenaRewardList[i].Floor; + for (int j = 0; j < skyArenaRewardList[i].Reward.Count; j++) + { + pointRewardData.rewardItem.Add((int)skyArenaRewardList[i].Reward[j, 0], (int)skyArenaRewardList[i].Reward[j, 1]); + } + list.Add(pointRewardData); + } + handler.SetData(list, XSysDefine.XSys_MulActivity_SkyArena); + } + handler.SetVisible(true); + } + } +} -- cgit v1.1-26-g67d0