From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/SkyArenaBattleHandler.cs | 215 +++++++++++++++++++++ 1 file changed, 215 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/SkyArenaBattleHandler.cs (limited to 'Client/Assets/Scripts/XMainClient/SkyArenaBattleHandler.cs') diff --git a/Client/Assets/Scripts/XMainClient/SkyArenaBattleHandler.cs b/Client/Assets/Scripts/XMainClient/SkyArenaBattleHandler.cs new file mode 100644 index 00000000..d7c7b252 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/SkyArenaBattleHandler.cs @@ -0,0 +1,215 @@ +using System; +using KKSG; +using UILib; +using UnityEngine; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class SkyArenaBattleHandler : DlgHandlerBase + { + protected override string FileName + { + get + { + return "Battle/SkyArenaBattle"; + } + } + + private XSkyArenaBattleDocument doc = null; + + private SkyCityTimeType m_CurStatus; + + private XLeftTimeCounter _CDCounter; + + private Transform m_Info; + + private IXUILabel m_BlueScore; + + private IXUILabel m_RedScore; + + private IXUILabel m_BlueDamage; + + private IXUILabel m_RedDamage; + + private IXUILabel m_TimeLabel; + + private IXUILabel m_RestTip; + + protected override void Init() + { + base.Init(); + this.doc = XDocuments.GetSpecificDocument(XSkyArenaBattleDocument.uuID); + this.doc.BattleHandler = this; + this.m_Info = base.transform.Find("Bg/Info"); + this.m_BlueScore = (base.transform.Find("Bg/Info/Blue/Score").GetComponent("XUILabel") as IXUILabel); + this.m_RedScore = (base.transform.Find("Bg/Info/Red/Score").GetComponent("XUILabel") as IXUILabel); + this.m_BlueDamage = (base.transform.Find("Bg/Info/Blue/Damage").GetComponent("XUILabel") as IXUILabel); + this.m_RedDamage = (base.transform.Find("Bg/Info/Red/Damage").GetComponent("XUILabel") as IXUILabel); + this.m_RestTip = (base.transform.Find("Bg/start").GetComponent("XUILabel") as IXUILabel); + this.m_TimeLabel = (base.transform.Find("Bg/Time").GetComponent("XUILabel") as IXUILabel); + this.m_TimeLabel.SetText(XSingleton.singleton.GetString("SKY_ARENA_BEGIN_WAIT_TIP")); + this._CDCounter = new XLeftTimeCounter(this.m_TimeLabel, false); + } + + public override void RegisterEvent() + { + } + + protected override void OnShow() + { + base.OnShow(); + this.RefreshInfo(); + } + + protected override void OnHide() + { + base.OnHide(); + } + + public override void OnUnload() + { + this.doc.BattleHandler = null; + base.OnUnload(); + } + + public override void OnUpdate() + { + base.OnUpdate(); + this._CDCounter.Update(); + } + + private void RefreshInfo() + { + this.m_BlueScore.SetText("0"); + this.m_RedScore.SetText("0"); + this.m_BlueDamage.SetText("0"); + this.m_RedDamage.SetText("0"); + DlgBase.singleton.HideLeftTime(); + this.m_RestTip.gameObject.SetActive(false); + } + + public void SetScore(uint score, bool isBlue) + { + if (isBlue) + { + this.m_BlueScore.SetText(score.ToString()); + } + else + { + this.m_RedScore.SetText(score.ToString()); + } + } + + public void SetDamage(ulong damage, bool isBlue) + { + if (isBlue) + { + this.m_BlueDamage.SetText(damage.ToString()); + } + else + { + this.m_RedDamage.SetText(damage.ToString()); + } + } + + public void RefreshStatusTime(SkyCityTimeType status, uint time) + { + XSingleton.singleton.AddGreenLog(string.Concat(new object[] + { + "status:", + status, + "\ntime:", + time + }), null, null, null, null, null); + bool flag = time == 0u; + if (!flag) + { + bool flag2 = status == SkyCityTimeType.Race; + if (flag2) + { + bool flag3 = this.m_TimeLabel.IsVisible(); + if (flag3) + { + this.m_TimeLabel.gameObject.SetActive(false); + } + DlgBase.singleton.SetLeftTime(time, -1); + XSingleton.singleton.SetMiniMapOpponentStatus(false); + this.m_RestTip.gameObject.SetActive(false); + } + else + { + bool flag4 = status == SkyCityTimeType.FirstWaiting; + if (flag4) + { + bool flag5 = !this.m_TimeLabel.IsVisible(); + if (flag5) + { + this.m_TimeLabel.gameObject.SetActive(true); + } + this._CDCounter.SetLeftTime(time, -1); + this._CDCounter.SetFinishEventHandler(null, null); + this._CDCounter.SetFormatString(XSingleton.singleton.GetString("SKY_ARENA_REST_TIME")); + bool flag6 = this.m_CurStatus != status; + if (flag6) + { + DlgBase.singleton.ShowTip(XSingleton.singleton.GetString("SKY_ARENA_ROUND_END_REST")); + } + DlgBase.singleton.HideLeftTime(); + XSingleton.singleton.SetMiniMapOpponentStatus(true); + this.m_RestTip.gameObject.SetActive(true); + } + else + { + bool flag7 = status == SkyCityTimeType.SecondWaiting; + if (flag7) + { + bool flag8 = this.m_CurStatus == status; + if (flag8) + { + return; + } + bool flag9 = !this.m_TimeLabel.IsVisible(); + if (flag9) + { + this.m_TimeLabel.gameObject.SetActive(true); + } + this._CDCounter.SetLeftTime(time, -1); + this._CDCounter.SetFinishEventHandler(new TimeOverFinishEventHandler(this._OnLeftTimeOver), null); + this._CDCounter.SetFormatString(XSingleton.singleton.GetString("SKY_ARENA_NEXT_BATTLE_TIME")); + this.HideInfo(); + DlgBase.singleton.HideLeftTime(); + XSingleton.singleton.SetMiniMapOpponentStatus(true); + } + else + { + bool flag10 = status == SkyCityTimeType.MidleEndInRest; + if (flag10) + { + } + } + } + } + this.m_CurStatus = status; + } + } + + private void _OnLeftTimeOver(object o) + { + this.m_TimeLabel.SetText(XSingleton.singleton.GetString("SKY_ARENA_MATCHING")); + } + + public void HideTime() + { + DlgBase.singleton.HideLeftTime(); + this.m_TimeLabel.gameObject.SetActive(false); + } + + private void HideInfo() + { + this.m_Info.gameObject.SetActive(false); + } + } +} -- cgit v1.1-26-g67d0