From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- Client/Assets/Scripts/XMainClient/XRankView.cs | 1481 ++++++++++++++++++++++++ 1 file changed, 1481 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/XRankView.cs (limited to 'Client/Assets/Scripts/XMainClient/XRankView.cs') diff --git a/Client/Assets/Scripts/XMainClient/XRankView.cs b/Client/Assets/Scripts/XMainClient/XRankView.cs new file mode 100644 index 00000000..869e0e02 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/XRankView.cs @@ -0,0 +1,1481 @@ +using System; +using System.Collections.Generic; +using KKSG; +using UILib; +using UnityEngine; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XMainClient.Utility; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class XRankView : DlgBase + { + public override string fileName + { + get + { + return "GameSystem/RankDlg"; + } + } + + public override int layer + { + get + { + return 1; + } + } + + public override int group + { + get + { + return 1; + } + } + + public override bool autoload + { + get + { + return true; + } + } + + public override bool hideMainMenu + { + get + { + return true; + } + } + + public override bool fullscreenui + { + get + { + return true; + } + } + + public override bool pushstack + { + get + { + return true; + } + } + + private XRankDocument _doc = null; + + private ulong _viewGuildId = 0UL; + + private XDummy _PlayerDummy = null; + + private XDummy _PetDummy = null; + + private XDummy _SpriteDummy = null; + + private uint m_PreUIType = 9999999u; + + private UnitAppearance emptyUA = null; + + private XFlowerRankHandler _FlowerRankHandler = null; + + private XCampDuelRankRewardHandler _RankRewardHandler = null; + + protected XSubSysRedPointMgr redpointMgr = new XSubSysRedPointMgr(); + + public Dictionary RankUIType = new Dictionary(default(XFastEnumIntEqualityComparer)); + + public Dictionary RankItemHandlers = new Dictionary(default(XFastEnumIntEqualityComparer)); + + private XRankType[] m_RankTypeList = new XRankType[] + { + XRankType.PPTRank, + XRankType.LevelRank, + XRankType.GuildRank, + XRankType.DragonGuildRank, + XRankType.FashionRank, + XRankType.TeamTowerRank, + XRankType.GuildBossRank, + XRankType.WorldBossDamageRank, + XRankType.PetRank, + XRankType.SpriteRank, + XRankType.QualifyingRank, + XRankType.SkyArenaRank, + XRankType.CampDuelRankLeft, + XRankType.CampDuelRankRight, + XRankType.BigMeleeRank + }; + + public delegate void SetRankItemHandler(GameObject itemGo, XBaseRankInfo info, int index); + + public XRankView() + { + this.RankUIType.Clear(); + this.RankUIType.Add(XRankType.PPTRank, 0u); + this.RankUIType.Add(XRankType.LevelRank, 0u); + this.RankUIType.Add(XRankType.GuildRank, 1u); + this.RankUIType.Add(XRankType.DragonGuildRank, 7u); + this.RankUIType.Add(XRankType.FashionRank, 0u); + this.RankUIType.Add(XRankType.TeamTowerRank, 2u); + this.RankUIType.Add(XRankType.GuildBossRank, 3u); + this.RankUIType.Add(XRankType.WorldBossDamageRank, 9u); + this.RankUIType.Add(XRankType.PetRank, 4u); + this.RankUIType.Add(XRankType.SpriteRank, 0u); + this.RankUIType.Add(XRankType.QualifyingRank, 5u); + this.RankUIType.Add(XRankType.BigMeleeRank, 6u); + this.RankUIType.Add(XRankType.SkyArenaRank, 8u); + this.RankUIType.Add(XRankType.CampDuelRankLeft, 10u); + this.RankUIType.Add(XRankType.CampDuelRankRight, 10u); + this.RankUIType.Add(XRankType.RiftRank, 11u); + this.RankItemHandlers.Clear(); + this.RankItemHandlers.Add(XRankType.PPTRank, new XRankView.SetRankItemHandler(this._SetBaseRankItem)); + this.RankItemHandlers.Add(XRankType.LevelRank, new XRankView.SetRankItemHandler(this._SetBaseRankItem)); + this.RankItemHandlers.Add(XRankType.GuildRank, new XRankView.SetRankItemHandler(this._SetGuildRankItem)); + this.RankItemHandlers.Add(XRankType.DragonGuildRank, new XRankView.SetRankItemHandler(this._SetDragonGuildRankItem)); + this.RankItemHandlers.Add(XRankType.FashionRank, new XRankView.SetRankItemHandler(this._SetBaseRankItem)); + this.RankItemHandlers.Add(XRankType.TeamTowerRank, new XRankView.SetRankItemHandler(this._SetTowerRankItem)); + this.RankItemHandlers.Add(XRankType.GuildBossRank, new XRankView.SetRankItemHandler(this._SetGuildBossRankItem)); + this.RankItemHandlers.Add(XRankType.WorldBossDamageRank, new XRankView.SetRankItemHandler(this._SetWorldBossRankItem)); + this.RankItemHandlers.Add(XRankType.PetRank, new XRankView.SetRankItemHandler(this._SetPetRankItem)); + this.RankItemHandlers.Add(XRankType.SpriteRank, new XRankView.SetRankItemHandler(this._SetBaseRankItem)); + this.RankItemHandlers.Add(XRankType.QualifyingRank, new XRankView.SetRankItemHandler(this._SetQualifyingRankItem)); + this.RankItemHandlers.Add(XRankType.LastWeek_PKRank, new XRankView.SetRankItemHandler(this._SetQualifyingRankItem)); + this.RankItemHandlers.Add(XRankType.BigMeleeRank, new XRankView.SetRankItemHandler(this._SetBigMeleeRankItem)); + this.RankItemHandlers.Add(XRankType.SkyArenaRank, new XRankView.SetRankItemHandler(this._SetSkyArenaRankItem)); + this.RankItemHandlers.Add(XRankType.CampDuelRankLeft, new XRankView.SetRankItemHandler(this._SetCampDuelRankLeftItem)); + this.RankItemHandlers.Add(XRankType.CampDuelRankRight, new XRankView.SetRankItemHandler(this._SetCampDuelRankRightItem)); + this.RankItemHandlers.Add(XRankType.RiftRank, new XRankView.SetRankItemHandler(this._SetRiftRankItem)); + } + + protected override void Init() + { + XSingleton.singleton.RegisterSubSysRedPointMgr(XSysDefine.XSys_Rank, this.redpointMgr); + this._doc = XDocuments.GetSpecificDocument(XRankDocument.uuID); + this._doc.View = this; + this.m_PreUIType = 9999999u; + for (int i = 0; i < this.m_RankTypeList.Length; i++) + { + uint num; + XRankView.SetRankItemHandler setHandler; + bool flag = !this._GetUIAndHandler(this.m_RankTypeList[i], out num, out setHandler); + if (!flag) + { + this._SetMyRankFrame(base.uiBehaviour.m_MyRankFrame[(int)num], null, 0u, setHandler); + } + } + DlgHandlerBase.EnsureCreate(ref this._FlowerRankHandler, base.uiBehaviour.m_FlowerRankRoot, false, this); + } + + public override void RegisterEvent() + { + base.uiBehaviour.m_close.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnCloseClicked)); + base.uiBehaviour.m_PopularSprite.RegisterSpritePressEventHandler(new SpritePressEventHandler(this.OnPopularTipsShow)); + for (int i = 0; i < base.uiBehaviour.m_ListPanel.Length; i++) + { + base.uiBehaviour.m_ListPanel[i].RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this._OnWrapContentItemUpdated)); + } + base.uiBehaviour.m_CharacterDummyFrame.RegisterSpriteDragEventHandler(new SpriteDragEventHandler(this._OnCharacterDrag)); + base.uiBehaviour.m_PetDummyFrame.RegisterSpriteDragEventHandler(new SpriteDragEventHandler(this._OnPetDrag)); + base.uiBehaviour.m_DragonGuildHelp.RegisterClickEventHandler(new ButtonClickEventHandler(this._OnDragonGuildHelpBtnClick)); + } + + private bool _OnDragonGuildHelpBtnClick(IXUIButton button) + { + DlgBase.singleton.ShowHelp(XSysDefine.XSys_Rank_DragonGuild); + return true; + } + + private bool _OnCharacterDrag(Vector2 delta) + { + bool flag = this._PlayerDummy != null && !this._PlayerDummy.Deprecated; + if (flag) + { + XSingleton.singleton.RotateDummy(this._PlayerDummy, -delta.x / 2f); + } + return true; + } + + private bool _OnPetDrag(Vector2 delta) + { + bool flag = this._PetDummy != null && !this._PetDummy.Deprecated; + if (flag) + { + XSingleton.singleton.RotateDummy(this._PetDummy, -delta.x / 2f); + } + return true; + } + + private bool OnPopularTipsShow(IXUISprite sprite, bool isPressed) + { + if (isPressed) + { + bool flag = !base.uiBehaviour.m_PopularLabel.IsVisible(); + if (flag) + { + base.uiBehaviour.m_PopularLabel.SetVisible(true); + } + base.uiBehaviour.m_PopularLabel.SetText(XSingleton.singleton.ReplaceReturn(XStringDefineProxy.GetString("GUILD_RANK_TIPS"))); + } + else + { + bool flag2 = base.uiBehaviour.m_PopularLabel.IsVisible(); + if (flag2) + { + base.uiBehaviour.m_PopularLabel.SetVisible(false); + } + } + return false; + } + + protected override void OnShow() + { + base.OnShow(); + base.Alloc3DAvatarPool("XRankView"); + } + + protected override void OnHide() + { + base.OnHide(); + bool flag = this.m_uiBehaviour.m_PlayerSnapshot != null; + if (flag) + { + this.m_uiBehaviour.m_PlayerSnapshot.RefreshRenderQueue = null; + } + bool flag2 = this.m_uiBehaviour.m_PetSnapshot != null; + if (flag2) + { + this.m_uiBehaviour.m_PetSnapshot.RefreshRenderQueue = null; + } + bool flag3 = this.m_uiBehaviour.m_SpriteSnapshot != null; + if (flag3) + { + this.m_uiBehaviour.m_SpriteSnapshot.RefreshRenderQueue = null; + } + bool flag4 = this._FlowerRankHandler != null; + if (flag4) + { + this._FlowerRankHandler.ClearPreTabTextures(); + } + base.Return3DAvatarPool(); + this._PlayerDummy = null; + this._PetDummy = null; + this._SpriteDummy = null; + this.redpointMgr.SetupRedPoints(null); + } + + public override void StackRefresh() + { + base.StackRefresh(); + base.Alloc3DAvatarPool("XRankView"); + XSingleton.singleton.EnableCommonDummy(this._PlayerDummy, this.m_uiBehaviour.m_PlayerSnapshot, true); + XSingleton.singleton.EnableCommonDummy(this._PetDummy, this.m_uiBehaviour.m_PetSnapshot, true); + XSingleton.singleton.EnableCommonDummy(this._SpriteDummy, this.m_uiBehaviour.m_SpriteSnapshot, true); + } + + protected override void OnUnload() + { + bool flag = this.m_uiBehaviour.m_PlayerSnapshot != null; + if (flag) + { + this.m_uiBehaviour.m_PlayerSnapshot.RefreshRenderQueue = null; + } + bool flag2 = this.m_uiBehaviour.m_PetSnapshot != null; + if (flag2) + { + this.m_uiBehaviour.m_PetSnapshot.RefreshRenderQueue = null; + } + bool flag3 = this.m_uiBehaviour.m_SpriteSnapshot != null; + if (flag3) + { + this.m_uiBehaviour.m_SpriteSnapshot.RefreshRenderQueue = null; + } + base.Return3DAvatarPool(); + this._PlayerDummy = null; + this._PetDummy = null; + this._SpriteDummy = null; + base.OnUnload(); + this._doc.View = null; + DlgHandlerBase.EnsureUnload(ref this._FlowerRankHandler); + DlgHandlerBase.EnsureUnload(ref this._RankRewardHandler); + } + + public bool OnCloseClicked(IXUIButton sp) + { + this.SetVisibleWithAnimation(false, null); + return true; + } + + private bool _GetUIAndHandler(XRankType rankType, out uint uiType, out XRankView.SetRankItemHandler handler) + { + uiType = 0u; + handler = null; + bool flag = !this.RankUIType.TryGetValue(rankType, out uiType); + bool result; + if (flag) + { + XSingleton.singleton.AddErrorLog("There's no type called ", rankType.ToString(), null, null, null, null); + result = false; + } + else + { + bool flag2 = !this.RankItemHandlers.TryGetValue(rankType, out handler); + if (flag2) + { + XSingleton.singleton.AddErrorLog("There's no handler for type ", rankType.ToString(), null, null, null, null); + result = false; + } + else + { + result = true; + } + } + return result; + } + + public void ShowRank(XSysDefine sys) + { + bool flag = !base.IsVisible(); + if (flag) + { + this.SetVisibleWithAnimation(true, null); + } + XSubSysRedPointMgr xsubSysRedPointMgr = this.redpointMgr; + IXUIObject[] btns = base.uiBehaviour.m_tabcontrol.SetupTabs(sys, new XUITabControl.UITabControlCallback(this.OnTabSelectionChanged), false, 1f); + xsubSysRedPointMgr.SetupRedPoints(btns); + } + + public void ShowFlowerRank(XSysDefine sys) + { + bool flag = !XSingleton.singleton.IsSystemOpened(XSysDefine.XSys_FlowerRank); + if (flag) + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("SYSTEM_NOT_OPEN"), "fece00"); + } + else + { + bool flag2 = !base.IsVisible(); + if (flag2) + { + this.SetVisibleWithAnimation(true, null); + } + XSubSysRedPointMgr xsubSysRedPointMgr = this.redpointMgr; + IXUIObject[] btns = base.uiBehaviour.m_tabcontrol.SetupTabs(XSysDefine.XSys_FlowerRank, new XUITabControl.UITabControlCallback(this.OnTabSelectionChanged), false, 1f); + xsubSysRedPointMgr.SetupRedPoints(btns); + base.uiBehaviour.m_OriginalRank.SetActive(false); + this._FlowerRankHandler.DefaultTab = sys; + bool flag3 = !this._FlowerRankHandler.IsVisible(); + if (flag3) + { + this._FlowerRankHandler.SetVisible(true); + } + else + { + this._FlowerRankHandler.ShowRank(); + } + } + } + + public void OnTabSelectionChanged(ulong id) + { + XSingleton.singleton.ClearDummy(this.m_dummPool); + this._PlayerDummy = null; + this._PetDummy = null; + this._SpriteDummy = null; + XSysDefine xsysDefine = (XSysDefine)id; + base.uiBehaviour.m_OriginalRank.SetActive(xsysDefine != XSysDefine.XSys_FlowerRank); + this._FlowerRankHandler.SetVisible(xsysDefine == XSysDefine.XSys_FlowerRank); + bool flag = this.emptyUA == null; + if (flag) + { + this.emptyUA = new UnitAppearance(); + } + XSysDefine xsysDefine2 = xsysDefine; + if (xsysDefine2 != XSysDefine.XSys_FlowerRank) + { + XRankType type; + switch (xsysDefine2) + { + case XSysDefine.XSys_Rank_Rift: + this._FillCharacterInfoFrame(this.emptyUA); + this._doc.ReqMysteriourRanklist(); + return; + case XSysDefine.XSys_Rank_WorldBoss: + type = XRankType.WorldBossDamageRank; + this._FillCharacterInfoFrame(this.emptyUA); + goto IL_24F; + case XSysDefine.XSys_Rank_PPT: + type = XRankType.PPTRank; + this._FillCharacterInfoFrame(this.emptyUA); + goto IL_24F; + case XSysDefine.XSys_Rank_Level: + type = XRankType.LevelRank; + this._FillCharacterInfoFrame(this.emptyUA); + goto IL_24F; + case XSysDefine.XSys_Rank_Guild: + this._doc.ReqGuildRankList(); + return; + case XSysDefine.XSys_Rank_Fashion: + type = XRankType.FashionRank; + this._FillCharacterInfoFrame(this.emptyUA); + goto IL_24F; + case XSysDefine.XSys_Rank_TeamTower: + type = XRankType.TeamTowerRank; + goto IL_24F; + case XSysDefine.XSys_Rank_GuildBoss: + this._doc.ReqGuildBossRankList(); + return; + case XSysDefine.XSys_Rank_Pet: + type = XRankType.PetRank; + this._FillPetInfoFrame(0u); + goto IL_24F; + case XSysDefine.XSys_Rank_Sprite: + type = XRankType.SpriteRank; + this._FillCharacterInfoFrame(this.emptyUA); + goto IL_24F; + case XSysDefine.XSys_Rank_Qualifying: + this._FillCharacterInfoFrame(this.emptyUA); + this._doc.ReqQualifyingRankList(); + return; + case XSysDefine.XSys_Rank_BigMelee: + XBigMeleeEntranceDocument.Doc.ReqRankData(0); + return; + case XSysDefine.XSys_Rank_DragonGuild: + this._doc.ReqDragonGuildRankList(); + return; + case XSysDefine.XSys_Rank_SkyArena: + type = XRankType.SkyArenaRank; + this._FillCharacterInfoFrame(this.emptyUA); + goto IL_24F; + case XSysDefine.XSys_Rank_CampDuel: + this._doc.ReqRankList(XRankType.CampDuelRankLeft); + this._doc.ReqRankList(XRankType.CampDuelRankRight); + return; + } + XSingleton.singleton.AddErrorLog("Invalid system id: ", xsysDefine.ToString(), null, null, null, null); + return; + IL_24F: + this._doc.ReqRankList(type); + } + } + + private void _SetFramesActive(uint uiType) + { + bool flag = !base.uiBehaviour.m_OriginalRank.activeSelf; + if (!flag) + { + for (uint num = 0u; num < XRankBehaviour.RANK_UI_TYPE_COUNT; num += 1u) + { + this.m_uiBehaviour.m_ListPanel[(int)num].gameObject.SetActive(num == uiType); + this.m_uiBehaviour.m_MyRankFrame[(int)num].SetActive(num == uiType); + this.m_uiBehaviour.m_TitleFrame[(int)num].SetActive(num == uiType); + } + } + } + + public void RefreshContent() + { + bool flag = !base.uiBehaviour.m_OriginalRank.activeSelf; + if (!flag) + { + XRankType currentSelectRankList = this._doc.currentSelectRankList; + uint num; + XRankView.SetRankItemHandler setRankItemHandler; + bool flag2 = !this._GetUIAndHandler(currentSelectRankList, out num, out setRankItemHandler); + if (!flag2) + { + IXUIWrapContent ixuiwrapContent = base.uiBehaviour.m_ListPanel[(int)num]; + ixuiwrapContent.RefreshAllVisibleContents(); + } + } + } + + public void RefreshRankWindow() + { + bool flag = !base.uiBehaviour.m_OriginalRank.activeSelf; + if (!flag) + { + XRankType currentSelectRankList = this._doc.currentSelectRankList; + uint num; + XRankView.SetRankItemHandler setHandler; + bool flag2 = !this._GetUIAndHandler(currentSelectRankList, out num, out setHandler); + if (!flag2) + { + GameObject gameObject = this.m_uiBehaviour.m_ListPanel[(int)num].gameObject; + GameObject go = this.m_uiBehaviour.m_MyRankFrame[(int)num]; + IXUIWrapContent ixuiwrapContent = base.uiBehaviour.m_ListPanel[(int)num]; + XBaseRankList rankList = this._doc.GetRankList(currentSelectRankList); + bool flag3 = rankList == null; + if (flag3) + { + XSingleton.singleton.AddErrorLog("Fail to get rank list whose type is ", currentSelectRankList.ToString(), null, null, null, null); + } + else + { + this._SetFramesActive(num); + bool flag4 = this.m_PreUIType != num; + if (flag4) + { + ixuiwrapContent.InitContent(); + this.m_PreUIType = num; + } + int num2 = rankList.rankList.Count; + bool flag5 = currentSelectRankList == XRankType.CampDuelRankLeft || currentSelectRankList == XRankType.CampDuelRankRight; + if (flag5) + { + num2 = Math.Max(num2, this._doc.GetRankList(XRankType.CampDuelRankLeft).rankList.Count); + num2 = Math.Max(num2, this._doc.GetRankList(XRankType.CampDuelRankRight).rankList.Count); + } + ixuiwrapContent.SetContentCount(num2, true); + this._SetMyRankFrame(go, rankList.GetLatestMyRankInfo(), rankList.upperBound, setHandler); + this._SetTitle(base.uiBehaviour.m_TitleFrame[(int)num]); + this.m_uiBehaviour.m_PetInfoFrame.SetActive(currentSelectRankList == XRankType.PetRank); + XRankType xrankType = currentSelectRankList; + if (xrankType <= XRankType.FashionRank) + { + if (xrankType > XRankType.LevelRank) + { + switch (xrankType) + { + case XRankType.WorldBossDamageRank: + this.m_uiBehaviour.m_CharacterInfoFrame.SetActive(true); + this.m_uiBehaviour.m_EmptyRankLabelGroup.SetGroup(1); + this.m_uiBehaviour.m_EmptyRankLabel.SetText(XStringDefineProxy.GetString("BIG_BOSS_EMPTY_RANK")); + this.m_uiBehaviour.m_EmptyRankLabel.gameObject.SetActive(rankList.rankList.Count == 0); + goto IL_474; + case XRankType.GuildBossRank: + { + this.m_uiBehaviour.m_CharacterInfoFrame.SetActive(false); + bool flag6 = rankList.rankList.Count == 0; + if (flag6) + { + this.m_uiBehaviour.m_EmptyRankLabel.SetText(XStringDefineProxy.GetString("GUILD_BOSS_EMPTY_RANK_BOSS")); + this.m_uiBehaviour.m_EmptyRankLabelGroup.SetGroup(0); + this.m_uiBehaviour.m_EmptyRankLabel.gameObject.SetActive(true); + } + else + { + this.m_uiBehaviour.m_EmptyRankLabel.gameObject.SetActive(false); + } + goto IL_474; + } + case XRankType.GuildBossRoleRank: + goto IL_449; + case XRankType.FashionRank: + break; + default: + goto IL_449; + } + } + } + else + { + switch (xrankType) + { + case XRankType.PetRank: + this.m_uiBehaviour.m_PetInfoFrame.SetActive(true); + this.m_uiBehaviour.m_CharacterInfoFrame.SetActive(false); + this.m_uiBehaviour.m_EmptyRankLabel.gameObject.SetActive(false); + goto IL_474; + case XRankType.BigMeleeRank: + { + this.m_uiBehaviour.m_CharacterInfoFrame.SetActive(false); + bool flag7 = rankList.rankList.Count == 0; + if (flag7) + { + this.m_uiBehaviour.m_EmptyRankLabel.SetText(XStringDefineProxy.GetString("BIG_BOSS_EMPTY_RANK")); + this.m_uiBehaviour.m_EmptyRankLabelGroup.SetGroup(0); + this.m_uiBehaviour.m_EmptyRankLabel.gameObject.SetActive(true); + } + else + { + this.m_uiBehaviour.m_EmptyRankLabel.gameObject.SetActive(false); + } + goto IL_474; + } + case XRankType.SkyArenaRank: + this.m_uiBehaviour.m_CharacterInfoFrame.SetActive(true); + this.m_uiBehaviour.m_EmptyRankLabel.SetText(XStringDefineProxy.GetString("BIG_BOSS_EMPTY_RANK")); + this.m_uiBehaviour.m_EmptyRankLabelGroup.SetGroup(1); + this.m_uiBehaviour.m_EmptyRankLabel.gameObject.SetActive(true); + goto IL_474; + case XRankType.ChickenDinnerRank: + case XRankType.CampDuelRankLeft: + case XRankType.CampDuelRankRight: + case XRankType.LeagueTeamRank: + goto IL_449; + case XRankType.SpriteRank: + case XRankType.QualifyingRank: + case XRankType.LastWeek_PKRank: + break; + default: + if (xrankType != XRankType.RiftRank) + { + goto IL_449; + } + break; + } + } + this.m_uiBehaviour.m_CharacterInfoFrame.SetActive(true); + this.m_uiBehaviour.m_EmptyRankLabel.gameObject.SetActive(false); + goto IL_474; + IL_449: + this.m_uiBehaviour.m_CharacterInfoFrame.SetActive(false); + this.m_uiBehaviour.m_EmptyRankLabel.gameObject.SetActive(false); + IL_474: + XRankType xrankType2 = currentSelectRankList; + if (xrankType2 - XRankType.CampDuelRankLeft > 1) + { + Vector3 group = base.uiBehaviour.m_ListPositionGroup.GetGroup(0); + base.uiBehaviour.m_ListIXUIPanel.SetCenter(group.x, group.y); + group = base.uiBehaviour.m_ListPositionGroup.GetGroup(1); + base.uiBehaviour.m_ListIXUIPanel.SetSize(group.x, group.y); + } + else + { + Vector3 group = base.uiBehaviour.m_ListPositionGroup.GetGroup(2); + base.uiBehaviour.m_ListIXUIPanel.SetCenter(group.x, group.y); + group = base.uiBehaviour.m_ListPositionGroup.GetGroup(3); + base.uiBehaviour.m_ListIXUIPanel.SetSize(group.x, group.y); + } + base.uiBehaviour.m_ListScrollView.ResetPosition(); + bool flag8 = rankList.rankList.Count > 0; + if (flag8) + { + this._doc.SelectItem(0u); + } + } + } + } + } + + private void _OnWrapContentItemUpdated(Transform t, int index) + { + bool flag = !base.uiBehaviour.m_OriginalRank.activeSelf; + if (!flag) + { + XRankType currentSelectRankList = this._doc.currentSelectRankList; + XBaseRankList rankList = this._doc.GetRankList(currentSelectRankList); + bool flag2 = rankList == null; + if (flag2) + { + XSingleton.singleton.AddErrorLog("Fail to get rank list whose type is ", currentSelectRankList.ToString(), null, null, null, null); + } + else + { + bool flag3 = index >= rankList.rankList.Count; + if (flag3) + { + bool flag4 = this._doc.currentSelectRankList != XRankType.CampDuelRankLeft && this._doc.currentSelectRankList != XRankType.CampDuelRankRight; + if (flag4) + { + XSingleton.singleton.AddErrorLog("index >= rankDataList.rankList.Count: idx ", index.ToString(), " count ", rankList.rankList.Count.ToString(), null, null); + } + } + else + { + XRankView.SetRankItemHandler setRankItemHandler; + bool flag5 = !this.RankItemHandlers.TryGetValue(currentSelectRankList, out setRankItemHandler); + if (flag5) + { + XSingleton.singleton.AddErrorLog("There's no handler for type ", currentSelectRankList.ToString(), null, null, null, null); + } + else + { + bool flag6 = currentSelectRankList == XRankType.CampDuelRankLeft; + if (flag6) + { + t = t.Find("Left"); + } + else + { + bool flag7 = currentSelectRankList == XRankType.CampDuelRankRight; + if (flag7) + { + t = t.Find("Right"); + } + } + IXUISprite ixuisprite = t.GetComponent("XUISprite") as IXUISprite; + IXUILabelSymbol ixuilabelSymbol = t.Find("Name").GetComponent("XUILabelSymbol") as IXUILabelSymbol; + bool flag8 = ixuilabelSymbol != null; + if (flag8) + { + ixuilabelSymbol.ID = (ulong)((long)index); + } + IXUILabel ixuilabel = t.Find("Name").GetComponent("XUILabel") as IXUILabel; + bool flag9 = ixuilabel != null; + if (flag9) + { + ixuilabel.ID = (ulong)((long)index); + } + bool flag10 = ixuisprite != null; + if (flag10) + { + ixuisprite.ID = (ulong)((long)index); + ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this._OnRankItemClickedSp)); + } + setRankItemHandler(t.gameObject, rankList.rankList[index], index); + this._ToggleSelection(t.gameObject, (ulong)this._doc.currentSelectIndex == (ulong)((long)index)); + } + } + } + } + } + + private void _FillCharacterInfoFrame(UnitAppearance data) + { + bool flag = !base.uiBehaviour.m_OriginalRank.activeSelf; + if (!flag) + { + this.m_uiBehaviour.m_CharName.SetText(data.unitName); + this.m_uiBehaviour.m_CharProfession.SetSprite(XSingleton.singleton.GetProfIcon((int)data.unitType)); + bool flag2 = data.uID > 0UL; + if (flag2) + { + this._PlayerDummy = XSingleton.singleton.CreateCommonRoleDummy(this.m_dummPool, data, this.m_uiBehaviour.m_PlayerSnapshot, this._PlayerDummy); + bool flag3 = data.sprites.Count > 0; + if (flag3) + { + XSpriteSystemDocument specificDocument = XDocuments.GetSpecificDocument(XSpriteSystemDocument.uuID); + SpriteTable.RowData bySpriteID = specificDocument._SpriteTable.GetBySpriteID(data.sprites[0].SpriteID); + bool flag4 = bySpriteID != null; + if (flag4) + { + this._SpriteDummy = XSingleton.singleton.CreateCommonEntityDummy(this.m_dummPool, bySpriteID.SpriteModelID, this.m_uiBehaviour.m_SpriteSnapshot, this._SpriteDummy, 1f); + } + else + { + bool flag5 = this._SpriteDummy != null; + if (flag5) + { + XSingleton.singleton.DestroyDummy(this.m_dummPool, this._SpriteDummy); + this._SpriteDummy = null; + } + } + } + else + { + bool flag6 = this._SpriteDummy != null; + if (flag6) + { + XSingleton.singleton.DestroyDummy(this.m_dummPool, this._SpriteDummy); + this._SpriteDummy = null; + } + } + } + } + } + + private void _FillPetInfoFrame(uint petID) + { + bool flag = !base.uiBehaviour.m_OriginalRank.activeSelf; + if (!flag) + { + uint presentID = XPetDocument.GetPresentID(petID); + bool flag2 = presentID > 0u; + if (flag2) + { + this._PetDummy = XSingleton.singleton.CreateCommonEntityDummy(this.m_dummPool, presentID, this.m_uiBehaviour.m_PetSnapshot, this._PetDummy, 1f); + DlgBase.singleton.PetActionChange(XPetActionFile.IDLE, petID, this._PetDummy, false); + } + else + { + XSingleton.singleton.DestroyDummy(this.m_dummPool, this._PetDummy); + this._PetDummy = null; + } + } + } + + public void UpdateGuildInfo(XBaseRankInfo info) + { + bool flag = !base.uiBehaviour.m_OriginalRank.activeSelf; + if (!flag) + { + base.uiBehaviour.m_GuildName.SetText(info.guildname); + bool flag2 = info.guildname == "" || info.guildname == null; + if (flag2) + { + base.uiBehaviour.m_GuildIcon.SetSprite(""); + } + else + { + base.uiBehaviour.m_GuildIcon.SetSprite(XGuildDocument.GetPortraitName((int)info.guildicon)); + } + } + } + + public void UpdatePetInfo(uint petID) + { + this._FillPetInfoFrame(petID); + } + + public void UpdateCharacterInfo(GetUnitAppearanceRes oRes) + { + this._FillCharacterInfoFrame(oRes.UnitAppearance); + } + + private void _ToggleSelection(GameObject go, bool bSelect) + { + Transform transform = go.transform.Find("Select"); + bool flag = transform == null; + if (!flag) + { + GameObject gameObject = transform.gameObject; + gameObject.SetActive(bSelect); + } + } + + private void _SetBaseRankItem(GameObject go, XBaseRankInfo info, int index) + { + IXUILabelSymbol ixuilabelSymbol = go.transform.Find("Name").GetComponent("XUILabelSymbol") as IXUILabelSymbol; + IXUILabel ixuilabel = go.transform.Find("Value").GetComponent("XUILabel") as IXUILabel; + GameObject gameObject = go.transform.Find("QQ").gameObject; + GameObject gameObject2 = go.transform.Find("Wechat").gameObject; + bool flag = XSingleton.singleton.IsSystemOpened(XSysDefine.XSys_Platform_StartPrivilege); + bool flag2 = !flag; + if (flag2) + { + gameObject.SetActive(false); + gameObject2.SetActive(false); + } + bool flag3 = info == null; + if (flag3) + { + ixuilabelSymbol.InputText = string.Empty; + ixuilabel.SetText(string.Empty); + this._SetRank(go, XRankDocument.INVALID_RANK); + bool flag4 = flag; + if (flag4) + { + gameObject.SetActive(XSingleton.singleton.GetLaunchTypeServerInfo() == StartUpType.StartUp_QQ && XSingleton.singleton.Channel == XAuthorizationChannel.XAuthorization_QQ); + gameObject2.SetActive(XSingleton.singleton.GetLaunchTypeServerInfo() == StartUpType.StartUp_WX && XSingleton.singleton.Channel == XAuthorizationChannel.XAuthorization_WeChat); + } + XSingleton.singleton.AddLog("[_SetBaseRankItem] info == null", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + ixuilabelSymbol.InputText = info.formatname; + ixuilabel.SetText(info.value.ToString()); + this._SetRank(go, info.rank); + ixuilabelSymbol.RegisterSymbolClickHandler(new LabelSymbolClickEventHandler(this._OnRankItemClicked)); + bool flag5 = flag; + if (flag5) + { + bool flag6 = info.rank == XRankDocument.INVALID_RANK; + if (flag6) + { + gameObject.SetActive(XSingleton.singleton.GetLaunchTypeServerInfo() == StartUpType.StartUp_QQ && XSingleton.singleton.Channel == XAuthorizationChannel.XAuthorization_QQ); + gameObject2.SetActive(XSingleton.singleton.GetLaunchTypeServerInfo() == StartUpType.StartUp_WX && XSingleton.singleton.Channel == XAuthorizationChannel.XAuthorization_WeChat); + } + else + { + gameObject.SetActive(info.startType == StartUpType.StartUp_QQ); + gameObject2.SetActive(info.startType == StartUpType.StartUp_WX); + } + } + } + } + + private void _SetWorldBossRankItem(GameObject go, XBaseRankInfo info, int index) + { + IXUILabel ixuilabel = go.transform.Find("Name").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = go.transform.Find("Profession").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel3 = go.transform.Find("Damage").GetComponent("XUILabel") as IXUILabel; + bool flag = info == null || info.rank == XRankDocument.INVALID_RANK; + if (flag) + { + ixuilabel.SetText(string.Empty); + ixuilabel2.SetText(string.Empty); + ixuilabel3.SetText(string.Empty); + this._SetRank(go, XRankDocument.INVALID_RANK); + ixuilabel.RegisterLabelClickEventHandler(null); + } + else + { + XWorldBossDamageRankInfo xworldBossDamageRankInfo = info as XWorldBossDamageRankInfo; + bool flag2 = xworldBossDamageRankInfo != null; + if (flag2) + { + ixuilabel.SetText(xworldBossDamageRankInfo.formatname); + ixuilabel2.SetText(XSingleton.singleton.GetProfName((int)xworldBossDamageRankInfo.profession)); + ixuilabel3.SetText(XSingleton.singleton.NumberFormatBillion((ulong)xworldBossDamageRankInfo.damage)); + } + this._SetRank(go, info.rank); + ixuilabel.RegisterLabelClickEventHandler(new LabelClickEventHandler(this._OnRankItemClicked)); + } + } + + private void _SetPetRankItem(GameObject go, XBaseRankInfo info, int index) + { + IXUILabel ixuilabel = go.transform.Find("Name").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = go.transform.Find("PetName").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel3 = go.transform.Find("PetPPT").GetComponent("XUILabel") as IXUILabel; + bool flag = info == null || info.rank == XRankDocument.INVALID_RANK; + if (flag) + { + ixuilabel.SetText(string.Empty); + ixuilabel2.SetText(string.Empty); + ixuilabel3.SetText(string.Empty); + this._SetRank(go, XRankDocument.INVALID_RANK); + ixuilabel.RegisterLabelClickEventHandler(null); + } + else + { + XPetRankInfo xpetRankInfo = info as XPetRankInfo; + ixuilabel.SetText(xpetRankInfo.formatname); + PetInfoTable.RowData petInfo = XPetDocument.GetPetInfo(xpetRankInfo.petID); + bool flag2 = petInfo != null; + if (flag2) + { + ixuilabel2.SetText(XBaseRankInfo.GetUnderLineName(petInfo.name)); + } + else + { + XSingleton.singleton.AddErrorLog("PetID " + xpetRankInfo.petID + " No Find", null, null, null, null, null); + } + ixuilabel3.SetText(xpetRankInfo.value.ToString()); + this._SetRank(go, info.rank); + ixuilabel.RegisterLabelClickEventHandler(new LabelClickEventHandler(this._OnRankItemClicked)); + ixuilabel2.ID = (ulong)((long)index); + ixuilabel2.RegisterLabelClickEventHandler(new LabelClickEventHandler(this._OnPetRankItemClicked)); + } + } + + private void _SetBigMeleeRankItem(GameObject go, XBaseRankInfo info, int index) + { + IXUILabel ixuilabel = go.transform.Find("Name").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = go.transform.Find("Server").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel3 = go.transform.Find("Kill").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel4 = go.transform.Find("Point").GetComponent("XUILabel") as IXUILabel; + bool flag = info == null || info.rank == XRankDocument.INVALID_RANK; + if (flag) + { + ixuilabel.SetText(string.Empty); + ixuilabel2.SetText(string.Empty); + ixuilabel3.SetText(string.Empty); + ixuilabel4.SetText(string.Empty); + this._SetRank(go, XRankDocument.INVALID_RANK); + } + else + { + XBigMeleeRankInfo xbigMeleeRankInfo = info as XBigMeleeRankInfo; + ixuilabel.SetText(xbigMeleeRankInfo.name); + ixuilabel2.SetText(xbigMeleeRankInfo.serverName); + ixuilabel3.SetText(xbigMeleeRankInfo.kill.ToString()); + ixuilabel4.SetText(xbigMeleeRankInfo.value.ToString()); + this._SetRank(go, info.rank); + } + } + + private void _SetCampDuelRankLeftItem(GameObject go, XBaseRankInfo info, int index) + { + IXUILabel ixuilabel = go.transform.Find("Name").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = go.transform.Find("Num").GetComponent("XUILabel") as IXUILabel; + bool flag = info == null || info.rank == XRankDocument.INVALID_RANK; + if (flag) + { + bool flag2 = XCampDuelDocument.Doc.campID != 2; + if (flag2) + { + ixuilabel.SetText(string.Empty); + ixuilabel2.SetText(string.Empty); + this._SetRank(go, XRankDocument.INVALID_RANK); + } + } + else + { + XCampDuelRankInfo xcampDuelRankInfo = info as XCampDuelRankInfo; + ixuilabel.SetText(xcampDuelRankInfo.name); + ixuilabel2.SetText(xcampDuelRankInfo.value.ToString()); + this._SetRank(go, info.rank); + } + XBaseRankList rankList = this._doc.GetRankList(XRankType.CampDuelRankRight); + bool flag3 = rankList.rankList.Count <= index; + if (flag3) + { + this._SetCampDuelRankClear(go.transform.parent.Find("Right")); + } + } + + private void _SetCampDuelRankRightItem(GameObject go, XBaseRankInfo info, int index) + { + IXUILabel ixuilabel = go.transform.Find("Name").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = go.transform.Find("Num").GetComponent("XUILabel") as IXUILabel; + bool flag = info == null || info.rank == XRankDocument.INVALID_RANK; + if (flag) + { + bool flag2 = XCampDuelDocument.Doc.campID != 1; + if (flag2) + { + ixuilabel.SetText(string.Empty); + ixuilabel2.SetText(string.Empty); + this._SetRank(go, XRankDocument.INVALID_RANK); + } + } + else + { + XCampDuelRankInfo xcampDuelRankInfo = info as XCampDuelRankInfo; + ixuilabel.SetText(xcampDuelRankInfo.name); + ixuilabel2.SetText(xcampDuelRankInfo.value.ToString()); + this._SetRank(go, info.rank); + } + XBaseRankList rankList = this._doc.GetRankList(XRankType.CampDuelRankLeft); + bool flag3 = rankList.rankList.Count <= index; + if (flag3) + { + this._SetCampDuelRankClear(go.transform.parent.Find("Left")); + } + } + + private void _SetCampDuelRankClear(Transform t) + { + bool flag = t == null; + if (!flag) + { + IXUILabel ixuilabel = t.Find("Name").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = t.Find("Num").GetComponent("XUILabel") as IXUILabel; + ixuilabel.SetText(string.Empty); + ixuilabel2.SetText(string.Empty); + this._SetRank(t.gameObject, XRankDocument.INVALID_RANK); + } + } + + private void _SetSkyArenaRankItem(GameObject go, XBaseRankInfo info, int index) + { + IXUILabel ixuilabel = go.transform.Find("Name").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = go.transform.Find("Kill").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel3 = go.transform.Find("Floor").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel4 = go.transform.Find("Profession").GetComponent("XUILabel") as IXUILabel; + bool flag = info == null || info.rank == XRankDocument.INVALID_RANK; + if (flag) + { + ixuilabel.SetText(string.Empty); + ixuilabel2.SetText(string.Empty); + ixuilabel3.SetText(string.Empty); + ixuilabel4.SetText(string.Empty); + this._SetRank(go, XRankDocument.INVALID_RANK); + } + else + { + XSkyArenaRankInfo xskyArenaRankInfo = info as XSkyArenaRankInfo; + ixuilabel.SetText(xskyArenaRankInfo.name); + ixuilabel2.SetText(xskyArenaRankInfo.kill.ToString()); + ixuilabel3.SetText(xskyArenaRankInfo.floor.ToString()); + ixuilabel4.SetText(XSingleton.singleton.GetProfName((int)xskyArenaRankInfo.profession)); + this._SetRank(go, info.rank); + } + } + + private void _SetGuildBossRankItem(GameObject go, XBaseRankInfo info, int index) + { + IXUILabelSymbol ixuilabelSymbol = go.transform.Find("Name").GetComponent("XUILabelSymbol") as IXUILabelSymbol; + IXUILabel ixuilabel = go.transform.Find("Value0").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = go.transform.Find("Value1").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel3 = go.transform.Find("Value2").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel4 = go.transform.Find("Value3").GetComponent("XUILabel") as IXUILabel; + bool flag = info == null || info.rank == XRankDocument.INVALID_RANK; + if (flag) + { + ixuilabelSymbol.InputText = string.Empty; + ixuilabel.SetText(string.Empty); + ixuilabel2.SetText(string.Empty); + ixuilabel3.SetText(string.Empty); + ixuilabel4.SetText(string.Empty); + this._SetRank(go, XRankDocument.INVALID_RANK); + ixuilabelSymbol.RegisterSymbolClickHandler(null); + } + else + { + XGuildBossRankInfo xguildBossRankInfo = info as XGuildBossRankInfo; + ixuilabelSymbol.ID = (ulong)((long)(index << 1 | 0)); + GuildBossConfigTable.RowData byBossID = XGuildDragonDocument._GuildBossConfigReader.GetByBossID(xguildBossRankInfo.guildBossIndex); + XEntityStatistics.RowData byID = XSingleton.singleton.EntityStatistics.GetByID(byBossID.EnemyID); + float num = byID.MaxHP * byBossID.LifePercent; + float num2 = Mathf.Clamp01(xguildBossRankInfo.damage / num); + string text = (num2 * 100f).ToString("f2") + "%"; + bool flag2 = num2 == 0f; + if (flag2) + { + text = "0%"; + } + bool flag3 = num2 == 1f; + if (flag3) + { + text = "100%"; + } + ixuilabelSymbol.InputText = xguildBossRankInfo.guildBossName; + ixuilabel.SetText(text); + ixuilabel2.SetText(xguildBossRankInfo.m_Time); + ixuilabel3.SetText(xguildBossRankInfo.guildName); + ixuilabel4.SetText(xguildBossRankInfo.strongDPSName); + this._SetRank(go, info.rank); + ixuilabelSymbol.RegisterSymbolClickHandler(new LabelSymbolClickEventHandler(this._OnGuildBossClicked)); + } + } + + private void _SetTowerRankItem(GameObject go, XBaseRankInfo info, int index) + { + IXUILabelSymbol ixuilabelSymbol = go.transform.Find("Name").GetComponent("XUILabelSymbol") as IXUILabelSymbol; + IXUILabelSymbol ixuilabelSymbol2 = go.transform.Find("Name0").GetComponent("XUILabelSymbol") as IXUILabelSymbol; + IXUILabelSymbol ixuilabelSymbol3 = go.transform.Find("Name1").GetComponent("XUILabelSymbol") as IXUILabelSymbol; + IXUILabel ixuilabel = go.transform.Find("Value0").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = go.transform.Find("Value1").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel3 = go.transform.Find("Value2").GetComponent("XUILabel") as IXUILabel; + GameObject gameObject = go.transform.Find("QQ").gameObject; + GameObject gameObject2 = go.transform.Find("Wechat").gameObject; + bool flag = XSingleton.singleton.IsSystemOpened(XSysDefine.XSys_Platform_StartPrivilege); + bool flag2 = !flag; + if (flag2) + { + gameObject.SetActive(false); + gameObject2.SetActive(false); + } + bool flag3 = info == null || info.rank == XRankDocument.INVALID_RANK; + if (flag3) + { + ixuilabelSymbol.InputText = string.Empty; + ixuilabelSymbol2.InputText = string.Empty; + ixuilabelSymbol3.InputText = string.Empty; + ixuilabel.SetText(string.Empty); + ixuilabel2.SetText(string.Empty); + ixuilabel3.SetText(string.Empty); + this._SetRank(go, XRankDocument.INVALID_RANK); + ixuilabelSymbol.RegisterSymbolClickHandler(null); + ixuilabelSymbol2.RegisterSymbolClickHandler(null); + ixuilabelSymbol3.RegisterSymbolClickHandler(null); + bool flag4 = flag; + if (flag4) + { + gameObject.SetActive(XSingleton.singleton.GetLaunchTypeServerInfo() == StartUpType.StartUp_QQ && XSingleton.singleton.Channel == XAuthorizationChannel.XAuthorization_QQ); + gameObject2.SetActive(XSingleton.singleton.GetLaunchTypeServerInfo() == StartUpType.StartUp_WX && XSingleton.singleton.Channel == XAuthorizationChannel.XAuthorization_WeChat); + } + } + else + { + XTeamTowerRankInfo xteamTowerRankInfo = info as XTeamTowerRankInfo; + ixuilabelSymbol.SetVisible(xteamTowerRankInfo.memberCount == 1u); + ixuilabelSymbol2.SetVisible(xteamTowerRankInfo.memberCount != 1u); + ixuilabelSymbol3.SetVisible(xteamTowerRankInfo.memberCount != 1u); + ixuilabelSymbol.InputText = xteamTowerRankInfo.formatname; + ixuilabelSymbol2.InputText = xteamTowerRankInfo.formatname; + ixuilabelSymbol3.InputText = xteamTowerRankInfo.formatname1; + ixuilabelSymbol.ID = (ulong)((long)(index << 1 | 0)); + ixuilabelSymbol2.ID = (ulong)((long)(index << 1 | 0)); + ixuilabelSymbol3.ID = (ulong)((long)(index << 1 | 1)); + ixuilabel.SetText(XStringDefineProxy.GetString("TEAMTOWER_DIFF" + xteamTowerRankInfo.diff)); + ixuilabel2.SetText(xteamTowerRankInfo.levelCount.ToString()); + ixuilabel3.SetText(xteamTowerRankInfo.GetValue()); + this._SetRank(go, info.rank); + ixuilabelSymbol.RegisterSymbolClickHandler(new LabelSymbolClickEventHandler(this._OnTwoNameClicked)); + ixuilabelSymbol2.RegisterSymbolClickHandler(new LabelSymbolClickEventHandler(this._OnTwoNameClicked)); + ixuilabelSymbol3.RegisterSymbolClickHandler(new LabelSymbolClickEventHandler(this._OnTwoNameClicked)); + bool flag5 = flag; + if (flag5) + { + gameObject.SetActive(info.startType == StartUpType.StartUp_QQ); + gameObject2.SetActive(info.startType == StartUpType.StartUp_WX); + } + } + } + + private void _SetQualifyingRankItem(GameObject go, XBaseRankInfo info, int index) + { + IXUILabel ixuilabel = go.transform.Find("Name").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = go.transform.Find("Value1").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel3 = go.transform.Find("Value2").GetComponent("XUILabel") as IXUILabel; + bool flag = info == null || info.rank == XRankDocument.INVALID_RANK; + if (flag) + { + ixuilabel.SetText(string.Empty); + ixuilabel2.SetText(string.Empty); + ixuilabel3.SetText(string.Empty); + this._SetRank(go, XRankDocument.INVALID_RANK); + ixuilabel.RegisterLabelClickEventHandler(null); + } + else + { + XQualifyingRankInfo xqualifyingRankInfo = info as XQualifyingRankInfo; + ixuilabel.SetText(xqualifyingRankInfo.formatname); + ixuilabel.ID = (ulong)((long)index); + ixuilabel2.SetText(xqualifyingRankInfo.rankScore.ToString()); + ixuilabel3.SetText(XSingleton.singleton.GetProfName((int)xqualifyingRankInfo.profession)); + this._SetRank(go, info.rank); + ixuilabel.RegisterLabelClickEventHandler(new LabelClickEventHandler(this._OnRankItemClicked)); + } + } + + private void _SetDragonGuildRankItem(GameObject go, XBaseRankInfo info, int index) + { + IXUILabelSymbol ixuilabelSymbol = go.transform.Find("Name").GetComponent("XUILabelSymbol") as IXUILabelSymbol; + IXUILabelSymbol ixuilabelSymbol2 = go.transform.Find("LeaderName").GetComponent("XUILabelSymbol") as IXUILabelSymbol; + IXUILabel ixuilabel = go.transform.Find("Times").GetComponent("XUILabel") as IXUILabel; + XDragonGuildRankInfo xdragonGuildRankInfo = info as XDragonGuildRankInfo; + bool flag = xdragonGuildRankInfo == null; + if (flag) + { + ixuilabelSymbol.InputText = string.Empty; + ixuilabelSymbol2.InputText = string.Empty; + ixuilabel.SetText(string.Empty); + this._SetRank(go, XRankDocument.INVALID_RANK); + } + else + { + ixuilabelSymbol.InputText = xdragonGuildRankInfo.name; + ixuilabel.SetText(xdragonGuildRankInfo.value.ToString()); + ixuilabelSymbol2.InputText = xdragonGuildRankInfo.passSceneName; + this._SetRank(go, info.rank); + } + } + + private void _SetGuildRankItem(GameObject go, XBaseRankInfo info, int index) + { + IXUILabelSymbol ixuilabelSymbol = go.transform.Find("Name").GetComponent("XUILabelSymbol") as IXUILabelSymbol; + IXUILabel ixuilabel = go.transform.Find("Popularity").GetComponent("XUILabel") as IXUILabel; + IXUILabelSymbol ixuilabelSymbol2 = go.transform.Find("LeaderName").GetComponent("XUILabelSymbol") as IXUILabelSymbol; + IXUILabel ixuilabel2 = go.transform.Find("Level").GetComponent("XUILabel") as IXUILabel; + XGuildRankInfo xguildRankInfo = info as XGuildRankInfo; + bool flag = xguildRankInfo == null; + if (flag) + { + ixuilabelSymbol.InputText = string.Empty; + ixuilabel.SetText(string.Empty); + ixuilabelSymbol2.InputText = string.Empty; + ixuilabel2.SetText(string.Empty); + this._SetRank(go, XRankDocument.INVALID_RANK); + } + else + { + ixuilabelSymbol.InputText = xguildRankInfo.formatname; + ixuilabel.SetText(xguildRankInfo.presitge.ToString()); + ixuilabel2.SetText(xguildRankInfo.value.ToString()); + ixuilabelSymbol2.InputText = xguildRankInfo.formatname2; + ixuilabelSymbol.RegisterSymbolClickHandler(new LabelSymbolClickEventHandler(this._OnClickGuild)); + this._SetRank(go, info.rank); + } + } + + private void _SetRiftRankItem(GameObject go, XBaseRankInfo info, int index) + { + XRiftRankInfo xriftRankInfo = info as XRiftRankInfo; + IXUILabelSymbol ixuilabelSymbol = go.transform.Find("Name").GetComponent("XUILabelSymbol") as IXUILabelSymbol; + IXUILabel ixuilabel = go.transform.Find("time").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = go.transform.Find("floor").GetComponent("XUILabel") as IXUILabel; + bool flag = info == null; + if (flag) + { + ixuilabelSymbol.InputText = string.Empty; + this._SetRank(go, XRankDocument.INVALID_RANK); + XSingleton.singleton.AddLog("[_SetBaseRankItem] info == null", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + ixuilabelSymbol.InputText = xriftRankInfo.name; + ixuilabel.SetText(this._FormatTime(xriftRankInfo.passtime)); + ixuilabel2.SetText(xriftRankInfo.floor.ToString()); + this._SetRank(go, info.rank); + ixuilabelSymbol.RegisterSymbolClickHandler(new LabelSymbolClickEventHandler(this._OnRankItemClicked)); + } + } + + private string _FormatTime(uint time) + { + uint num = time % 60u; + return (time / 60u).ToString("d2") + ":" + num.ToString("d2"); + } + + private void _SetRank(GameObject go, uint rankIndex) + { + IXUILabel ixuilabel = go.transform.Find("Rank").GetComponent("XUILabel") as IXUILabel; + IXUISprite ixuisprite = go.transform.Find("RankImage").GetComponent("XUISprite") as IXUISprite; + bool flag = rankIndex == XRankDocument.INVALID_RANK; + if (flag) + { + ixuilabel.SetVisible(false); + ixuisprite.SetVisible(false); + } + else + { + bool flag2 = rankIndex < 3u; + if (flag2) + { + ixuisprite.SetSprite("N" + (rankIndex + 1u)); + ixuisprite.SetVisible(true); + ixuilabel.SetVisible(false); + } + else + { + ixuisprite.SetVisible(false); + ixuilabel.SetText("No." + (rankIndex + 1u)); + ixuilabel.SetVisible(true); + } + } + } + + private void _SetMyRankFrame(GameObject go, XBaseRankInfo info, uint maxRank, XRankView.SetRankItemHandler setHandler) + { + GameObject gameObject = go.transform.Find("Tpl").gameObject; + GameObject gameObject2 = go.transform.Find("OutOfRange").gameObject; + bool flag = this._doc.currentSelectRankList == XRankType.CampDuelRankLeft; + if (flag) + { + IXUIButton ixuibutton = go.transform.Find("Reward").GetComponent("XUIButton") as IXUIButton; + ixuibutton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnCampDuelReward)); + bool flag2 = XCampDuelDocument.Doc.campID == 2; + if (flag2) + { + return; + } + } + bool flag3 = this._doc.currentSelectRankList == XRankType.CampDuelRankRight; + if (flag3) + { + bool flag4 = XCampDuelDocument.Doc.campID == 1; + if (flag4) + { + return; + } + } + bool flag5 = info == null; + if (flag5) + { + go.SetActive(false); + } + else + { + go.SetActive(true); + setHandler(gameObject, info, 0); + gameObject2.SetActive(info.rank == XRankDocument.INVALID_RANK); + } + } + + private void _SetTitle(GameObject title) + { + XRankType currentSelectRankList = this._doc.currentSelectRankList; + bool flag = currentSelectRankList == XRankType.CampDuelRankLeft; + if (flag) + { + IXUILabel ixuilabel = title.transform.Find("TitleL/Title/T").GetComponent("XUILabel") as IXUILabel; + ixuilabel.SetText(XStringDefineProxy.GetString("CAMPDUEL_LEFT_NAME")); + ixuilabel = (title.transform.Find("TitleR/Title/T").GetComponent("XUILabel") as IXUILabel); + ixuilabel.SetText(XStringDefineProxy.GetString("CAMPDUEL_RIGHT_NAME")); + } + Transform transform = title.transform.Find("ValueName"); + bool flag2 = transform == null; + if (!flag2) + { + IXUILabel ixuilabel2 = transform.GetComponent("XUILabel") as IXUILabel; + ixuilabel2.SetText(XStringDefineProxy.GetString(currentSelectRankList.ToString() + "_ValueName")); + } + } + + private void _OnRankItemClickedSp(IXUISprite sp) + { + this._SelectItem((uint)sp.ID); + } + + private void _OnRankItemClicked(IXUILabelSymbol iSp) + { + this._SelectItem((uint)iSp.ID); + XRankType currentSelectRankList = this._doc.currentSelectRankList; + XBaseRankList rankList = this._doc.GetRankList(currentSelectRankList); + XBaseRankInfo xbaseRankInfo = rankList.rankList[(int)iSp.ID]; + bool flag = currentSelectRankList == XRankType.SpriteRank; + if (flag) + { + DlgBase.singleton.SetPlayerInfo(xbaseRankInfo.id, xbaseRankInfo.name, xbaseRankInfo.setid, 0u, 1u); + DlgBase.singleton.SetVisibleWithAnimation(true, null); + DlgBase.singleton.ShowTab(Player_Info.Sprite, 0UL, 0UL); + } + else + { + XCharacterCommonMenuDocument.ReqCharacterMenuInfo(xbaseRankInfo.id, false); + } + } + + private void _OnRankItemClicked(IXUILabel iSp) + { + this._SelectItem((uint)iSp.ID); + XRankType currentSelectRankList = this._doc.currentSelectRankList; + XBaseRankList rankList = this._doc.GetRankList(currentSelectRankList); + XBaseRankInfo xbaseRankInfo = rankList.rankList[(int)iSp.ID]; + XCharacterCommonMenuDocument.ReqCharacterMenuInfo(xbaseRankInfo.id, false); + } + + private void _OnPetRankItemClicked(IXUILabel iSp) + { + this._SelectItem((uint)iSp.ID); + XRankType currentSelectRankList = this._doc.currentSelectRankList; + XBaseRankList rankList = this._doc.GetRankList(currentSelectRankList); + XPetRankInfo xpetRankInfo = rankList.rankList[(int)iSp.ID] as XPetRankInfo; + bool flag = XSingleton.singleton.XPlayerData.RoleID == xpetRankInfo.id; + if (!flag) + { + DlgBase.singleton.SetPlayerInfo(xpetRankInfo.id, xpetRankInfo.name, xpetRankInfo.setid, 0u, 1u); + DlgBase.singleton.SetVisibleWithAnimation(true, null); + DlgBase.singleton.ShowTab(Player_Info.Pet, xpetRankInfo.id, xpetRankInfo.petUID); + } + } + + private void _OnClickGuild(IXUILabelSymbol iSp) + { + this._SelectItem((uint)iSp.ID); + int index = (int)iSp.ID; + XBaseRankList guildRankList = this._doc.GuildRankList; + ulong id = guildRankList.rankList[index].id; + this._viewGuildId = id; + string name = guildRankList.rankList[index].name; + DlgBase.singleton.InitGuildMenu(id, name); + } + + private void _OnTwoNameClicked(IXUILabelSymbol label) + { + int index = (int)(label.ID >> 1); + int num = (int)(label.ID & 1UL); + this._SelectItem((uint)index); + XRankType currentSelectRankList = this._doc.currentSelectRankList; + XBaseRankList rankList = this._doc.GetRankList(currentSelectRankList); + XTeamTowerRankInfo xteamTowerRankInfo = rankList.rankList[index] as XTeamTowerRankInfo; + bool flag = xteamTowerRankInfo == null; + if (!flag) + { + bool flag2 = num == 0; + if (flag2) + { + XCharacterCommonMenuDocument.ReqCharacterMenuInfo(xteamTowerRankInfo.id, false); + } + else + { + XCharacterCommonMenuDocument.ReqCharacterMenuInfo(xteamTowerRankInfo.id1, false); + } + } + } + + private void _OnGuildBossClicked(IXUILabelSymbol label) + { + } + + public bool OnShowGuildInfo(IXUIButton sp) + { + XGuildViewDocument specificDocument = XDocuments.GetSpecificDocument(XGuildViewDocument.uuID); + specificDocument.View(this._viewGuildId); + DlgBase.singleton.SetVisibleWithAnimation(false, null); + return true; + } + + private void _SelectItem(uint index) + { + this._doc.SelectItem(index); + } + + public bool OnCampDuelReward(IXUIButton btn) + { + DlgHandlerBase.EnsureCreate(ref this._RankRewardHandler, base.uiBehaviour.m_OriginalRank.transform, false, null); + this._RankRewardHandler.SetVisible(true); + return true; + } + } +} -- cgit v1.1-26-g67d0