feat: 랭킹UI 추가 및 리스트 세팅 코드 추가(서버 오류로 리스트 아직 안나옴)

This commit is contained in:
aube.lee
2025-03-01 20:09:50 +09:00
parent ee133d5173
commit 3511ea679b
11 changed files with 321 additions and 66 deletions

View File

@@ -184,9 +184,9 @@ namespace TON
/// <summary>
/// 플레이어 랭킹 리스트 불러오기
/// 플레이어 랭킹 리스트 불러오기
/// </summary>
public void GetRankData(System.Action<List<ClearData>> onComplete = null)
public void GetRankData(System.Action<LitJson.JsonData> onComplete = null)
{
// 가져올 필드 지정 (모든 필드를 가져오려면 null 사용)
string[] select = new string[] { "nickname", "wave", "score", "play_time" };
@@ -207,30 +207,7 @@ namespace TON
LitJson.JsonData rankData = bro.GetReturnValuetoJSON()["rows"];
Debug.Log("가져온 데이터 수: " + rankData.Count);
// ClearData 리스트 생성 및 변환
List<ClearData> clearDataList = new List<ClearData>();
for (int i = 0; i < rankData.Count; i++)
{
LitJson.JsonData row = rankData[i];
clearDataList.Add(new ClearData
{
nickname = row["nickname"].ToString(),
wave = int.Parse(row["wave"].ToString()),
score = int.Parse(row["score"].ToString()),
playTime = float.Parse(row["play_time"].ToString()),
});
}
// 정렬 (score 내림차순, playTime 오름차순)
clearDataList.Sort((a, b) =>
{
if (a.score != b.score) return b.score.CompareTo(a.score);
return a.playTime.CompareTo(b.playTime);
});
onComplete?.Invoke(clearDataList);
onComplete?.Invoke(rankData);
}
else
{