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/GuildArenaCombatInfo.cs | 128 +++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/GuildArenaCombatInfo.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/GuildArenaCombatInfo.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/GuildArenaCombatInfo.cs b/Client/Assets/Scripts/XMainClient/UI/GuildArenaCombatInfo.cs new file mode 100644 index 00000000..fea0b6e3 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/GuildArenaCombatInfo.cs @@ -0,0 +1,128 @@ +using System; +using KKSG; +using UILib; + +namespace XMainClient.UI +{ + internal class GuildArenaCombatInfo : DlgHandlerBase + { + public uint BattleID + { + get + { + return this.m_battleID; + } + } + + private GuildArenaGuildInfo m_guildMemberA; + + private GuildArenaGuildInfo m_guildMemberB; + + private IXUIButton m_watchBtn; + + private int m_combatID; + + private int m_index; + + private uint m_battleID; + + private XGuildArenaDocument m_Doc; + + private GuildArenaGroupData m_GroupData; + + protected override void Init() + { + base.Init(); + this.m_Doc = XDocuments.GetSpecificDocument(XGuildArenaDocument.uuID); + this.m_watchBtn = (base.PanelObject.transform.Find("btn_Watch").GetComponent("XUIButton") as IXUIButton); + this.m_guildMemberA = DlgHandlerBase.EnsureCreate(ref this.m_guildMemberA, base.PanelObject.transform.Find("Team1").gameObject, null, true); + this.m_guildMemberB = DlgHandlerBase.EnsureCreate(ref this.m_guildMemberB, base.PanelObject.transform.Find("Team2").gameObject, null, true); + this.m_watchBtn.SetVisible(false); + } + + public void Set(int combat, int index) + { + this.m_combatID = combat; + this.m_index = index; + switch (combat) + { + case 0: + this.m_battleID = (uint)(index + 1); + break; + case 1: + this.m_battleID = (uint)(index + 5); + break; + case 2: + this.m_battleID = 7u; + break; + } + } + + public void SetCombatGroup(uint selectTabIndex) + { + this.m_GroupData = this.m_Doc.GetGuildGroup(selectTabIndex, this.BattleID); + bool flag = this.m_GroupData == null; + if (flag) + { + this.m_watchBtn.ID = 0UL; + this.SetCombatState(0u, 0u); + this.SetNextWinner(selectTabIndex); + } + else + { + this.m_watchBtn.ID = (ulong)this.m_GroupData.watchId; + this.m_guildMemberA.SetGuildMember(this.m_GroupData.guildOneId, this.m_GroupData.winerId, false); + this.m_guildMemberB.SetGuildMember(this.m_GroupData.guildTwoId, this.m_GroupData.winerId, false); + this.SetCombatState(this.m_GroupData.warstate, this.m_GroupData.watchId); + } + } + + private void SetNextWinner(uint selectTabIndex) + { + switch (this.m_battleID) + { + case 5u: + this.m_guildMemberA.SetGuildMember(this.m_Doc.GetArenaWinnerGuildID(selectTabIndex, 1u), 0UL, false); + this.m_guildMemberB.SetGuildMember(this.m_Doc.GetArenaWinnerGuildID(selectTabIndex, 2u), 0UL, false); + break; + case 6u: + this.m_guildMemberA.SetGuildMember(this.m_Doc.GetArenaWinnerGuildID(selectTabIndex, 3u), 0UL, false); + this.m_guildMemberB.SetGuildMember(this.m_Doc.GetArenaWinnerGuildID(selectTabIndex, 4u), 0UL, false); + break; + case 7u: + this.m_guildMemberA.SetGuildMember(this.m_Doc.GetArenaWinnerGuildID(selectTabIndex, 5u), 0UL, false); + this.m_guildMemberB.SetGuildMember(this.m_Doc.GetArenaWinnerGuildID(selectTabIndex, 6u), 0UL, false); + break; + } + } + + public void SetCombatState(uint state, uint watchID = 0u) + { + this.m_watchBtn.SetVisible(state == 2u && watchID > 0u); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + this.m_watchBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnWatchClick)); + } + + public override void OnUnload() + { + DlgHandlerBase.EnsureUnload(ref this.m_guildMemberA); + DlgHandlerBase.EnsureUnload(ref this.m_guildMemberB); + base.OnUnload(); + } + + private bool OnWatchClick(IXUIButton watchBtn) + { + bool flag = watchBtn.ID > 0UL; + if (flag) + { + XSpectateDocument specificDocument = XDocuments.GetSpecificDocument(XSpectateDocument.uuID); + specificDocument.EnterSpectateBattle((uint)watchBtn.ID, LiveType.LIVE_GUILDBATTLE); + } + return false; + } + } +} -- cgit v1.1-26-g67d0