117 lines
3.1 KiB
C#
117 lines
3.1 KiB
C#
|
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><>";
|
|||
|
}
|
|||
|
}
|