CutePet/Assets/Scripts/GameScene/Panel/RankPanel.cs

117 lines
3.1 KiB
C#
Raw Normal View History

2024-10-25 11:10:04 +08:00
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class RankPanel : BasePanel
{
public Button btnClose;
public Button btnHelp;
//<2F><><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD>
public Button btnAllRank;
//<2F><><EFBFBD>йؿ<D0B9>
public Button btnAllLev;
//<2F>ؿ<EFBFBD>
public Text txtLev;
//<2F><><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>
public Image imgHead;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public Text txtRank;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public Text txtName;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҷ<EFBFBD><D2B7><EFBFBD>
public Text txtScore;
//<2F><>һ<EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>
public int levInfo = 1;
public ScrollRect svRank;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
private List<GameObject> rankObjects;
public override void Init()
{
rankObjects = new List<GameObject>();
UpdatePanel(levInfo);
GameDataMgr.Instance.levRankMsg.id = 1;
StartCoroutine(NetMgr.Instance.RankPost(GameDataMgr.Instance.levRankMsg));
btnClose.onClick.AddListener(() =>
{
UIManager.Instance.HidePanel<RankPanel>(false);
});
//<2F><><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD>ť<EFBFBD><C5A5>ʲô
btnAllLev.onClick.AddListener(() =>
{
UIManager.Instance.ShowPanel<AllLevPanel>();
});
btnAllRank.onClick.AddListener(() =>
{
StartCoroutine(NetMgr.Instance.RankAllGet());
});
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
public void UpdatePanel(int lev)
{
levInfo = lev;
//<2F>ؿ<EFBFBD><D8BF><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
txtLev.text = "<22><>" + lev.ToString() + "<22><>";
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public void UpdatePanel(List<PlayerData> rankData)
{
for (int i = 0; i < rankObjects.Count; i++)
{
Destroy(rankObjects[i]);
}
for (int i = 0; i < rankData.Count; i++)
{
//<2F><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (i < 3)
{
GameObject item = Instantiate(Resources.Load<GameObject>("UI/RankItem1"));
item.transform.SetParent(svRank.content, false);
RankItem1 rankItem1 = item.GetComponent<RankItem1>();
rankItem1.InitInfo(rankData[i], i + 1);
rankObjects.Add(item);
}
else
{
GameObject item = Instantiate(Resources.Load<GameObject>("UI/RankItem2"));
item.transform.SetParent(svRank.content, false);
RankItem2 rankItem2 = item.GetComponent<RankItem2>();
rankItem2.InitInfo(rankData[i], i + 1);
rankObjects.Add(item);
}
}
UpdatePlayer(GameDataMgr.Instance.rankData);
}
public void UpdatePlayer(Dictionary<string, List<PlayerData>> rankData)
{
for (int i = 0; i < rankData["UserList"].Count; i++)
{
if (GameDataMgr.Instance.player.openId == rankData["UserList"][i].openId)
{
txtRank.text = (i+1).ToString();
txtName.text = GameDataMgr.Instance.player.username;
txtScore.text = rankData["UserList"][i].weekScore.ToString();
return;
}
}
txtRank.text = "";
txtName.text = GameDataMgr.Instance.player.username;
txtScore.text = "<22><>";
}
}