using UnityEngine; public class GuildRankWin : UIBase { [SerializeField] GuildTop3Cell[] guildTop3Cells; [SerializeField] ScrollerController scroller; [SerializeField] TextEx rankText; [SerializeField] TextEx rankValueText; GuildManager manager { get { return GuildManager.Instance; } } protected override void OnPreOpen() { manager.OnRefreshFairyList += OnRefreshFairyList; scroller.OnRefreshCell += OnRefreshCell; manager.SendFindGuild(string.Empty, 0, manager.pageCnt); manager.ResetQueryParam(); Display(); } protected override void OnPreClose() { manager.OnRefreshFairyList -= OnRefreshFairyList; scroller.OnRefreshCell -= OnRefreshCell; } public void Display() { ShowTop3(); CreateScroller(); ShowMyRank(); } void CreateScroller() { scroller.Refresh(); var cnt = manager.rankShowMaxCnt; for (int i = 3; i < cnt; i++) { scroller.AddCell(ScrollerDataType.Header, i); } scroller.Restart(); } void OnRefreshCell(ScrollerDataType type, CellView cell) { var _cell = cell.GetComponent(); _cell.Display(cell.index + 1); manager.ListenRankPage(cell.index); } void ShowTop3() { for (int i = 0; i < guildTop3Cells.Length; i++) { guildTop3Cells[i].Display(i + 1); } } void ShowMyRank() { var mydata = manager.GetFairyData(PlayerDatas.Instance.fairyData.fairy.FamilyID); if (mydata == null) { rankValueText.SetActive(false); rankText.text = Language.Get("GuildRank04", Language.Get("L1045")); return; } rankValueText.SetActive(true); rankText.text = Language.Get("GuildRank04", mydata.Rank); rankValueText.text = UIHelper.ReplaceLargeArtNum(mydata.totalFightPower); } void OnRefreshFairyList() { ShowTop3(); scroller.m_Scorller.RefreshActiveCellViews(); ShowMyRank(); } }