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/GuildArenaInspireCD.cs | 81 ++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/GuildArenaInspireCD.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/GuildArenaInspireCD.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/GuildArenaInspireCD.cs b/Client/Assets/Scripts/XMainClient/UI/GuildArenaInspireCD.cs new file mode 100644 index 00000000..7fd6f4e6 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/GuildArenaInspireCD.cs @@ -0,0 +1,81 @@ +using System; +using UILib; +using UnityEngine; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class GuildArenaInspireCD + { + private IXUILabel m_cdText; + + private IXUISprite m_cdSprite; + + private double m_inspireCdTotal = 20.0; + + private bool m_canInspire = true; + + private Transform transform; + + public GuildArenaInspireCD(Transform t) + { + this.transform = t; + this.m_inspireCdTotal = double.Parse(XSingleton.singleton.GetValue("GMFInspireCoolDown")); + this.m_cdText = (t.Find("cd").GetComponent("XUILabel") as IXUILabel); + this.m_cdSprite = (t.Find("cd/Quan").GetComponent("XUISprite") as IXUISprite); + this.ClearInspireCD(); + } + + public bool IsActive() + { + return !(this.transform == null) && this.transform.gameObject.activeInHierarchy; + } + + private void ClearInspireCD() + { + this.m_canInspire = true; + this.m_cdSprite.SetAlpha(0f); + this.m_cdText.Alpha = 0f; + } + + public void ExcuteInspireCD(double curInspire) + { + bool flag = !this.IsActive(); + if (!flag) + { + bool flag2 = curInspire > 0.0; + if (flag2) + { + bool flag3 = curInspire > this.m_inspireCdTotal; + if (flag3) + { + curInspire = this.m_inspireCdTotal; + } + float fillAmount = (float)(curInspire / this.m_inspireCdTotal); + this.m_cdText.Alpha = 1f; + this.m_cdSprite.SetAlpha(1f); + this.m_cdSprite.SetFillAmount(fillAmount); + this.m_canInspire = false; + bool flag4 = curInspire >= 1.0; + if (flag4) + { + int num = (int)(curInspire + 0.5); + this.m_cdText.SetText(num.ToString()); + } + else + { + this.m_cdText.SetText(curInspire.ToString("F1")); + } + } + else + { + bool flag5 = !this.m_canInspire; + if (flag5) + { + this.ClearInspireCD(); + } + } + } + } + } +} -- cgit v1.1-26-g67d0