summaryrefslogtreecommitdiff
path: root/Client/Assets/Scripts/XMainClient/UI/GuildArenaDuelInfo.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Client/Assets/Scripts/XMainClient/UI/GuildArenaDuelInfo.cs')
-rw-r--r--Client/Assets/Scripts/XMainClient/UI/GuildArenaDuelInfo.cs137
1 files changed, 137 insertions, 0 deletions
diff --git a/Client/Assets/Scripts/XMainClient/UI/GuildArenaDuelInfo.cs b/Client/Assets/Scripts/XMainClient/UI/GuildArenaDuelInfo.cs
new file mode 100644
index 00000000..836be32e
--- /dev/null
+++ b/Client/Assets/Scripts/XMainClient/UI/GuildArenaDuelInfo.cs
@@ -0,0 +1,137 @@
+using System;
+using KKSG;
+using UILib;
+using UnityEngine;
+using XUtliPoolLib;
+
+namespace XMainClient.UI
+{
+ internal class GuildArenaDuelInfo
+ {
+ private IXUILabel m_time;
+
+ private IXUILabel m_guildNameCurrent;
+
+ private IXUILabel m_guildNameUsed;
+
+ private IXUISprite m_PortraitCurrent;
+
+ private IXUISprite m_PortraitUsed;
+
+ private IXUISprite m_enterBattle;
+
+ private IXUILabel m_score;
+
+ private Transform m_UsedPortraitEmpty;
+
+ private Transform m_CurrentPortraitEmpty;
+
+ private Transform m_CurrentVS;
+
+ private Transform m_CurrentMessage;
+
+ private Transform m_win;
+
+ private Transform m_lose;
+
+ private Transform m_current;
+
+ private Transform m_next;
+
+ private Transform m_used;
+
+ private int m_index;
+
+ public void Init(Transform t, int index)
+ {
+ this.m_index = index;
+ this.m_current = t.Find("Current");
+ this.m_next = t.Find("Next");
+ this.m_used = t.Find("Used");
+ this.m_win = t.Find("Used/Result/Win");
+ this.m_lose = t.Find("Used/Result/Lose");
+ this.m_time = (t.Find("Day").GetComponent("XUILabel") as IXUILabel);
+ this.m_guildNameCurrent = (t.Find("Current/GuildName").GetComponent("XUILabel") as IXUILabel);
+ this.m_guildNameUsed = (t.Find("Used/GuildName").GetComponent("XUILabel") as IXUILabel);
+ this.m_PortraitCurrent = (t.Find("Current/Portrait").GetComponent("XUISprite") as IXUISprite);
+ this.m_PortraitUsed = (t.Find("Used/Portrait").GetComponent("XUISprite") as IXUISprite);
+ this.m_CurrentPortraitEmpty = t.Find("Current/Portrait_empty");
+ this.m_UsedPortraitEmpty = t.Find("Used/Portrait_empty");
+ this.m_CurrentVS = t.Find("Current/VS");
+ this.m_CurrentMessage = t.Find("Current/VS_empty");
+ this.m_score = (t.Find("Used/Score").GetComponent("XUILabel") as IXUILabel);
+ this.m_enterBattle = (t.Find("Current/Btn").GetComponent("XUISprite") as IXUISprite);
+ this.m_PortraitCurrent.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnClickGuildHandle));
+ this.m_PortraitUsed.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnClickGuildHandle));
+ this.m_enterBattle.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnEnterBattle));
+ }
+
+ public void Refresh()
+ {
+ XGuildArenaDocument specificDocument = XDocuments.GetSpecificDocument<XGuildArenaDocument>(XGuildArenaDocument.uuID);
+ bool flag = this.m_index < specificDocument.DuelCombatInfos.Count;
+ if (flag)
+ {
+ GuildArenaDuelCombatInfo guildArenaDuelCombatInfo = specificDocument.DuelCombatInfos[this.m_index];
+ this.m_time.SetText(guildArenaDuelCombatInfo.ToTimeString());
+ this.m_next.gameObject.SetActive(guildArenaDuelCombatInfo.Statu == GuildArenaDuelCombatStatu.Next);
+ this.m_used.gameObject.SetActive(guildArenaDuelCombatInfo.Statu == GuildArenaDuelCombatStatu.Used);
+ this.m_current.gameObject.SetActive(guildArenaDuelCombatInfo.Statu == GuildArenaDuelCombatStatu.Current);
+ GuildArenaDuelCombatStatu statu = guildArenaDuelCombatInfo.Statu;
+ if (statu != GuildArenaDuelCombatStatu.Used)
+ {
+ if (statu == GuildArenaDuelCombatStatu.Current)
+ {
+ this.m_guildNameCurrent.SetText(guildArenaDuelCombatInfo.GetGuildName());
+ this.m_PortraitCurrent.SetSprite(guildArenaDuelCombatInfo.GetPortraitName());
+ this.m_PortraitCurrent.SetVisible(guildArenaDuelCombatInfo.Pass());
+ this.m_PortraitCurrent.SetVisible(guildArenaDuelCombatInfo.Pass());
+ this.m_CurrentPortraitEmpty.gameObject.SetActive(!guildArenaDuelCombatInfo.Pass());
+ this.m_enterBattle.SetGrey(guildArenaDuelCombatInfo.Step == IntegralState.integralenterscene || guildArenaDuelCombatInfo.Step == IntegralState.integralwatch);
+ this.m_enterBattle.SetVisible(guildArenaDuelCombatInfo.Pass());
+ this.m_CurrentVS.gameObject.SetActive(guildArenaDuelCombatInfo.Pass());
+ this.m_CurrentMessage.gameObject.SetActive(!guildArenaDuelCombatInfo.Pass());
+ }
+ }
+ else
+ {
+ this.m_guildNameUsed.SetText(guildArenaDuelCombatInfo.GetGuildName());
+ this.m_PortraitUsed.SetSprite(guildArenaDuelCombatInfo.GetPortraitName());
+ this.m_UsedPortraitEmpty.gameObject.SetActive(!guildArenaDuelCombatInfo.Pass());
+ this.m_PortraitUsed.SetVisible(guildArenaDuelCombatInfo.Pass());
+ this.m_score.SetText(XSingleton<XCommon>.singleton.StringCombine("+", guildArenaDuelCombatInfo.GuildScore.ToString()));
+ this.m_win.gameObject.SetActive(guildArenaDuelCombatInfo.Winner);
+ this.m_lose.gameObject.SetActive(!guildArenaDuelCombatInfo.Winner);
+ }
+ }
+ else
+ {
+ this.Reset();
+ }
+ }
+
+ private void OnEnterBattle(IXUISprite sprite)
+ {
+ XGuildArenaDocument specificDocument = XDocuments.GetSpecificDocument<XGuildArenaDocument>(XGuildArenaDocument.uuID);
+ specificDocument.SendEnterDuelBattle(this.m_index);
+ }
+
+ public void Reset()
+ {
+ this.m_time.SetText(string.Empty);
+ this.m_next.gameObject.SetActive(true);
+ this.m_used.gameObject.SetActive(false);
+ this.m_current.gameObject.SetActive(false);
+ }
+
+ private void OnClickGuildHandle(IXUISprite sprite)
+ {
+ bool flag = sprite.ID > 0UL;
+ if (flag)
+ {
+ XGuildViewDocument specificDocument = XDocuments.GetSpecificDocument<XGuildViewDocument>(XGuildViewDocument.uuID);
+ specificDocument.View(sprite.ID);
+ }
+ }
+ }
+}