using System.Collections.Generic;
|
using UnityEngine;
|
|
public class GuildRankWin : UIBase
|
{
|
[SerializeField] Transform empty;
|
[SerializeField] GuildTop3Cell[] guildTop3Cells;
|
[SerializeField] ScrollerController scroller;
|
[SerializeField] TextEx rankText;
|
[SerializeField] TextEx rankValueText;
|
[SerializeField] ButtonEx serversBtn;
|
|
GuildManager manager { get { return GuildManager.Instance; } }
|
protected override void InitComponent()
|
{
|
serversBtn.AddListener(() =>
|
{
|
UIHelper.ShowServersPanel(GuildManager.Instance.crossServerIDList);
|
});
|
}
|
|
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()
|
{
|
serversBtn.SetActive(GuildManager.Instance.zoneID != 0);
|
ShowTop3();
|
CreateScroller();
|
ShowMyRank();
|
}
|
|
void CreateScroller()
|
{
|
if (GuildManager.Instance.pageIndexList.Count < 4)
|
{
|
empty.SetActive(true);
|
scroller.SetActive(false);
|
return;
|
}
|
empty.SetActive(false);
|
scroller.SetActive(true);
|
|
var startCount = scroller.GetCellTotalCount();
|
if (startCount > GuildManager.Instance.pageIndexList.Count)
|
{
|
scroller.Refresh();
|
}
|
for (int i = startCount + 3; i < GuildManager.Instance.pageIndexList.Count; i++)
|
{
|
scroller.AddCell(ScrollerDataType.Header, i);
|
}
|
scroller.Restart();
|
}
|
|
void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell.GetComponent<GuildRankCell>();
|
_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()
|
{
|
int myFairyRank = manager.myFairyRank;
|
rankText.text = Language.Get("GuildRank04", myFairyRank > 0 ? myFairyRank : Language.Get("L1045"));
|
rankValueText.SetActive(PlayerDatas.Instance.fairyData.HasFairy && myFairyRank > 0);
|
rankValueText.text = UIHelper.ReplaceLargeArtNum(PlayerDatas.Instance.fairyData.fairy.totalFightPower);
|
}
|
|
void OnRefreshFairyList()
|
{
|
ShowTop3();
|
CreateScroller();
|
ShowMyRank();
|
}
|
}
|