Project_WL/Assets/Script/UI/Rank/RankingUI_Rank.cs

49 lines
1.6 KiB
C#

using PlayFab.ProgressionModels;
using System.Collections.Generic;
using System.Linq;
public class RankingUI_Rank : uScrollViewMgr
{
public RankingCard myRank;
Dictionary<eDungeon, float> dic_RefreshTime = new Dictionary<eDungeon, float>();
Dictionary<eDungeon, List<EntityLeaderboardEntry>> dic_ranks = new Dictionary<eDungeon, List<EntityLeaderboardEntry>>();
protected override void Awake()
{
base.Awake();
Set_Repeat_for1sec(() =>
{
var keys = dic_RefreshTime.Keys.ToArray();
for (int i = 0; i < keys.Length; i++)
{
if (dic_RefreshTime[keys[i]] > 0f)
dic_RefreshTime[keys[i]] -= 1f;
}
});
}
public void Set(eDungeon dungeon)
{
gameObject.SetActive(true);
// TODO 정인호 : 랭킹 갱신 시간
//if (dic_RefreshTime[dungeon] <= 0f)
{
var leaderboard = MyValue.dic_Leaderboard[dungeon];
ServerInfo.Ins.Get_Rank(leaderboard, rank100 =>
{
if (!dic_RefreshTime.ContainsKey(dungeon)) dic_RefreshTime.Add(dungeon, 0);
dic_RefreshTime[dungeon] = 900;
if (!dic_ranks.ContainsKey(dungeon)) dic_ranks.Add(dungeon, null);
dic_ranks[dungeon] = rank100;
Set_ScrollView(dic_ranks[dungeon]);
list_CardBase.ForEach(f => f.Set(MyEnumToInt.Ins.Get_Int(dungeon)));
});
ServerInfo.Ins.Get_MyRank(leaderboard, my => { myRank.Set(my); myRank.Set(MyEnumToInt.Ins.Get_Int(dungeon)); });
}
}
}