From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/UI/FirstPassGuindRankHandler.cs | 283 +++++++++++++++++++++ 1 file changed, 283 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/FirstPassGuindRankHandler.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/FirstPassGuindRankHandler.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/FirstPassGuindRankHandler.cs b/Client/Assets/Scripts/XMainClient/UI/FirstPassGuindRankHandler.cs new file mode 100644 index 00000000..7e32e57f --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/FirstPassGuindRankHandler.cs @@ -0,0 +1,283 @@ +using System; +using UILib; +using UnityEngine; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class FirstPassGuindRankHandler : DlgHandlerBase + { + protected override string FileName + { + get + { + return "OperatingActivity/FirstPassGuildRank"; + } + } + + private IXUILabel m_TimeLabel; + + private IXUILabel m_DescLabel; + + private IXUILabel m_MarkLabel; + + private IXUILabel m_UnJoinLabel; + + private IXUILabel m_GuildRankLabel; + + private IXUIButton m_ShowRank; + + private IXUIButton m_JoinGuild; + + private IXUIScrollView m_ScrollView; + + private IXUIWrapContent m_WrapContent; + + private uint m_timer = 0u; + + private XGuildRankDocument _Doc; + + protected override void Init() + { + base.Init(); + this._Doc = XDocuments.GetSpecificDocument(XGuildRankDocument.uuID); + this.m_TimeLabel = (base.transform.Find("Titles/Time").GetComponent("XUILabel") as IXUILabel); + this.m_DescLabel = (base.transform.Find("Titles/Desc").GetComponent("XUILabel") as IXUILabel); + this.m_MarkLabel = (base.transform.Find("Titles/Mark").GetComponent("XUILabel") as IXUILabel); + this.m_UnJoinLabel = (base.transform.Find("Control/UnJoin").GetComponent("XUILabel") as IXUILabel); + this.m_GuildRankLabel = (base.transform.Find("Control/Rank").GetComponent("XUILabel") as IXUILabel); + this.m_ShowRank = (base.transform.Find("Control/ShowRank").GetComponent("XUIButton") as IXUIButton); + this.m_JoinGuild = (base.transform.Find("Control/JoinGuild").GetComponent("XUIButton") as IXUIButton); + this.m_ScrollView = (base.transform.Find("RankContent/ScrollView").GetComponent("XUIScrollView") as IXUIScrollView); + this.m_WrapContent = (base.transform.Find("RankContent/ScrollView/GuildList").GetComponent("XUIWrapContent") as IXUIWrapContent); + this.m_WrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this.OnWrapContentUpdate)); + } + + protected override void OnShow() + { + base.OnShow(); + this._Doc.SendGuildRankInfo(); + this.CheckInGuild(); + this.RefreshTitles(); + this.SetRewardInfo(); + this.CheckTime(); + } + + public override void StackRefresh() + { + base.StackRefresh(); + this.CheckInGuild(); + this.RefreshTitles(); + this.CheckTime(); + } + + public override void RefreshData() + { + base.RefreshData(); + this.RefreshTitles(); + this.CheckInGuild(); + this.CheckTime(); + } + + private void SetRewardInfo() + { + this.m_WrapContent.SetContentCount(XGuildRankDocument.m_RankRewardTable.Table.Length, false); + this.m_ScrollView.ResetPosition(); + } + + private void OnWrapContentUpdate(Transform t, int index) + { + GuildRankRewardTable.RowData rowData = XGuildRankDocument.m_RankRewardTable.Table[index]; + IXUILabel ixuilabel = t.Find("Rank").GetComponent("XUILabel") as IXUILabel; + IXUISprite ixuisprite = t.Find("IndexSprite").GetComponent("XUISprite") as IXUISprite; + bool flag = rowData.Rank[0] == rowData.Rank[1]; + if (flag) + { + bool flag2 = rowData.Rank[0] <= 3u; + if (flag2) + { + ixuisprite.SetAlpha(1f); + ixuilabel.Alpha = 0f; + ixuisprite.SetSprite(XSingleton.singleton.StringCombine("N", rowData.Rank[0].ToString())); + } + else + { + ixuisprite.SetAlpha(0f); + ixuilabel.Alpha = 1f; + ixuilabel.SetText(XStringDefineProxy.GetString("Qualifying_Rank_Reward_Desc1", new object[] + { + rowData.Rank[0] + })); + } + } + else + { + ixuisprite.SetAlpha(0f); + ixuilabel.Alpha = 1f; + ixuilabel.SetText(XStringDefineProxy.GetString("Qualifying_Rank_Reward_Desc4", new object[] + { + rowData.Rank[0], + rowData.Rank[1] + })); + } + this.SetRewardList(t.Find("Leader"), ref rowData.LeaderReward); + this.SetRewardList(t.Find("Officer"), ref rowData.OfficerRreward); + this.SetRewardList(t.Find("Member"), ref rowData.MemberReward); + } + + private void SetRewardList(Transform t, ref SeqListRef rewards) + { + IXUIList ixuilist = t.GetComponent("XUIList") as IXUIList; + int i = 0; + int num = 3; + while (i < num) + { + Transform transform = t.Find(XSingleton.singleton.StringCombine("Item", i.ToString())); + bool flag = i < rewards.Count; + if (flag) + { + transform.gameObject.SetActive(true); + IXUISprite ixuisprite = transform.Find("Icon").GetComponent("XUISprite") as IXUISprite; + ixuisprite.ID = (ulong)rewards[i, 0]; + XSingleton.singleton.normalItemDrawer.DrawItem(transform.gameObject, (int)rewards[i, 0], (int)rewards[i, 1], false); + ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnIconClick)); + } + else + { + transform.gameObject.SetActive(false); + } + i++; + } + ixuilist.Refresh(); + } + + private void OnIconClick(IXUISprite spr) + { + XItem mainItem = XBagDocument.MakeXItem((int)spr.ID, false); + XSingleton.singleton.ShowTooltipDialogWithSearchingCompare(mainItem, spr, false, 0u); + } + + private void RefreshTitles() + { + this.m_MarkLabel.SetText(XStringDefineProxy.GetString("GUILD_RANK_MARK", new object[] + { + XSingleton.singleton.TimeFormatSince1970((int)this._Doc.KeepTime, XStringDefineProxy.GetString("TIME_FORMAT_YYMMDD"), true) + })); + this.m_DescLabel.SetText(XStringDefineProxy.GetString("GUILD_RANK_DESC")); + } + + private void CheckTime() + { + XSingleton.singleton.KillTimer(this.m_timer); + bool flag = this._Doc.LastTime > 0; + if (flag) + { + XGuildRankDocument doc = this._Doc; + int lastTime = doc.LastTime; + doc.LastTime = lastTime - 1; + this.m_timer = XSingleton.singleton.SetTimer(1f, new XTimerMgr.ElapsedEventHandler(this.DoTimer), null); + bool flag2 = this._Doc.LastTime >= 86400; + if (flag2) + { + this.m_TimeLabel.SetText(XStringDefineProxy.GetString("GUILD_RANK_TIME", new object[] + { + XSingleton.singleton.TimeFormatSince1970((int)this._Doc.EndTime, XStringDefineProxy.GetString("TIME_FORMAT_YYMMDD"), true), + XStringDefineProxy.GetString("GUILD_QUALIFER_STYLE1", new object[] + { + XSingleton.singleton.TimeDuarationFormatString(this._Doc.LastTime, 2) + }) + })); + } + else + { + this.m_TimeLabel.SetText(XStringDefineProxy.GetString("GUILD_RANK_TIME", new object[] + { + XSingleton.singleton.TimeFormatSince1970((int)this._Doc.EndTime, XStringDefineProxy.GetString("TIME_FORMAT_YYMMDD"), true), + XStringDefineProxy.GetString("GUILD_QUALIFER_STYLE1", new object[] + { + XSingleton.singleton.TimeDuarationFormatString(this._Doc.LastTime, 5) + }) + })); + } + } + else + { + this.m_TimeLabel.SetText(XStringDefineProxy.GetString("GUILD_RANK_TIME", new object[] + { + XSingleton.singleton.TimeFormatSince1970((int)this._Doc.EndTime, XStringDefineProxy.GetString("TIME_FORMAT_YYMMDD"), true), + XStringDefineProxy.GetString("GUILD_QUALIFER_STYLE2") + })); + } + } + + private void DoTimer(object o = null) + { + XSingleton.singleton.KillTimer(this.m_timer); + this.CheckTime(); + } + + protected override void OnHide() + { + XSingleton.singleton.KillTimer(this.m_timer); + base.OnHide(); + } + + public override void OnUnload() + { + XSingleton.singleton.KillTimer(this.m_timer); + base.OnUnload(); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + this.m_ShowRank.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnShowRankClick)); + this.m_JoinGuild.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnJoinGuild)); + } + + private bool OnShowRankClick(IXUIButton btn) + { + DlgBase.singleton.ShowRank(XSysDefine.XSys_Rank_Guild); + return false; + } + + private bool OnJoinGuild(IXUIButton btn) + { + bool flag = XSingleton.singleton.IsSystemOpened(XSysDefine.XSys_Guild); + if (flag) + { + XGuildDocument specificDocument = XDocuments.GetSpecificDocument(XGuildDocument.uuID); + bool flag2 = specificDocument != null; + if (flag2) + { + specificDocument.TryShowGuildHallUI(); + } + } + else + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("GUILD_UNJION"), "fece00"); + } + return true; + } + + private void CheckInGuild() + { + XGuildDocument specificDocument = XDocuments.GetSpecificDocument(XGuildDocument.uuID); + bool bInGuild = specificDocument.bInGuild; + if (bInGuild) + { + this.m_JoinGuild.SetVisible(false); + this.m_UnJoinLabel.SetVisible(false); + this.m_GuildRankLabel.SetVisible(true); + this.m_GuildRankLabel.SetText(this._Doc.RankIndex.ToString()); + } + else + { + this.m_JoinGuild.SetVisible(true); + this.m_UnJoinLabel.SetVisible(true); + this.m_GuildRankLabel.SetVisible(false); + } + } + } +} -- cgit v1.1-26-g67d0