using System; using KKSG; using UILib; using UnityEngine; using XUtliPoolLib; namespace XMainClient.UI { internal class GuildQualifierHandler : DlgHandlerBase { protected override string FileName { get { return "Guild/GuildQualifierRankFrame"; } } private IXUIWrapContent m_qualifierContent; private IXUIScrollView m_qualifierScrollView; private IXUILabel m_timeLabel; private XGuildQualifierDocument _Doc; private uint refreshTime = 0u; protected override void Init() { base.Init(); this._Doc = XDocuments.GetSpecificDocument(XGuildQualifierDocument.uuID); this.m_qualifierContent = (base.transform.Find("ScrollView/Rank").GetComponent("XUIWrapContent") as IXUIWrapContent); this.m_qualifierScrollView = (base.transform.Find("ScrollView").GetComponent("XUIScrollView") as IXUIScrollView); this.m_timeLabel = (base.transform.Find("Time").GetComponent("XUILabel") as IXUILabel); this.m_qualifierContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this.GuildQualifierWrapUpdate)); } protected override void OnHide() { base.OnHide(); XSingleton.singleton.KillTimer(this.refreshTime); } public override void OnUnload() { XSingleton.singleton.KillTimer(this.refreshTime); base.OnUnload(); } public override void OnUpdate() { base.OnUpdate(); this.CheckActive(); } public override void RefreshData() { base.RefreshData(); bool flag = this.refreshTime > 0u; if (flag) { XSingleton.singleton.KillTimer(this.refreshTime); } this.CheckActive(); this.refreshTime = XSingleton.singleton.SetTimer((float)XSingleton.singleton.GetInt("GuildLadderRefreshTime"), new XTimerMgr.ElapsedEventHandler(this.UpdateTimeFrame), null); bool flag2 = this._Doc.GuildRankList == null; if (flag2) { this.m_qualifierContent.SetContentCount(0, false); } else { this.m_qualifierContent.SetContentCount(this._Doc.GuildRankList.Count, false); } } private void CheckActive() { bool flag = this._Doc.ActiveTime > 0.0; if (flag) { this.m_timeLabel.SetText(XStringDefineProxy.GetString("GUILD_QUALIFER_STYLE1", new object[] { XSingleton.singleton.TimeDuarationFormatString((int)this._Doc.ActiveTime, 5) })); } else { this.m_timeLabel.SetText(XStringDefineProxy.GetString("GUILD_QUALIFER_STYLE2")); } } private void UpdateTimeFrame(object o) { XSingleton.singleton.KillTimer(this.refreshTime); this._Doc.SendGuildLadderRankInfo(); } private void GuildQualifierWrapUpdate(Transform t, int index) { bool flag = index >= this._Doc.GuildRankList.Count; if (!flag) { GuildLadderRank guildLadderRank = this._Doc.GuildRankList[index]; IXUISprite ixuisprite = t.Find("IndexSprite").GetComponent("XUISprite") as IXUISprite; IXUILabel ixuilabel = t.Find("Index").GetComponent("XUILabel") as IXUILabel; IXUILabel ixuilabel2 = t.Find("Winner").GetComponent("XUILabel") as IXUILabel; IXUILabelSymbol ixuilabelSymbol = t.Find("Name").GetComponent("XUILabelSymbol") as IXUILabelSymbol; string s = XLabelSymbolHelper.FormatImage("common/Billboard", XGuildDocument.GetPortraitName((int)guildLadderRank.icon)); ixuilabel2.SetText(guildLadderRank.wintimes.ToString()); ixuilabelSymbol.InputText = XSingleton.singleton.StringCombine(s, guildLadderRank.guildname); bool flag2 = index < 3; if (flag2) { ixuilabel.Alpha = 0f; ixuisprite.SetAlpha(1f); ixuisprite.SetSprite(XSingleton.singleton.StringCombine("N", (index + 1).ToString())); } else { ixuilabel.Alpha = 1f; ixuisprite.SetAlpha(0f); } } } } }