yyl
2026-02-11 45d3d873a7740886fa09f35c9fea2830f4563072
Main/System/BillboardRank/GuildRankWin.cs
@@ -1,13 +1,24 @@
using UnityEngine;
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;
@@ -26,6 +37,7 @@
    public void Display()
    {
        serversBtn.SetActive(GuildManager.Instance.zoneID != 0);
        ShowTop3();
        CreateScroller();
        ShowMyRank();
@@ -33,9 +45,21 @@
    void CreateScroller()
    {
        scroller.Refresh();
        var cnt = manager.rankShowMaxCnt;
        for (int i = 3; i < cnt; i++)
        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);
        }
@@ -60,22 +84,16 @@
    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);
        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();
        scroller.m_Scorller.RefreshActiveCellViews();
        CreateScroller();
        ShowMyRank();
    }
}