랭킹 ui 정리

This commit is contained in:
Ino 2025-01-31 14:32:03 +09:00
parent f8c91573b0
commit 96782161d0
7 changed files with 52 additions and 30 deletions

View File

@ -10,6 +10,8 @@ public class RankingCard : CardBase
public override void Set<T>(T _base) public override void Set<T>(T _base)
{ {
base.Set(_base); base.Set(_base);
if (!DSUtil.CheckNull(_base))
{
EntityLeaderboardEntry data = _base as EntityLeaderboardEntry; EntityLeaderboardEntry data = _base as EntityLeaderboardEntry;
var metaDatas = data.Metadata.Split('|'); // 0 코스튬Id var metaDatas = data.Metadata.Split('|'); // 0 코스튬Id
@ -18,10 +20,26 @@ public class RankingCard : CardBase
if (images[0].enabled) if (images[0].enabled)
images[0].sprite = UIAtlasMgr.Ins.Get_Sprite(DSUtil.Format("rank{0}", data.Rank)); images[0].sprite = UIAtlasMgr.Ins.Get_Sprite(DSUtil.Format("rank{0}", data.Rank));
texts[1].text = data.DisplayName; texts[1].text = data.DisplayName;
texts[2].text = $"F{data.Scores[0]}"; texts[2].text = data.Scores[0];
// TODO 정인호 : 얼굴은 어디에 종속인 지 아직 모름 // TODO 정인호 : 얼굴은 어디에 종속인 지 아직 모름
//var costumetable = table_costumelist.Ins.Get_Data_orNull(int.Parse(metaDatas[0])); //var costumetable = table_costumelist.Ins.Get_Data_orNull(int.Parse(metaDatas[0]));
//images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(costumetable.s_Image); //images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(costumetable.s_Image);
} }
else
{
texts[0].text = "99999";
images[0].enabled = false;
texts[1].text = ServerInfo.Ins.UserName;
texts[2].text = "0";
}
}
public override void Set(int _val)
{
if (_val == 2)
texts[2].text = $"F{texts[2].text}";
else
texts[2].text = NumberFormatter.FormatNumber(double.Parse(texts[2].text));
}
} }

View File

@ -71,6 +71,12 @@ public class ChoiceMapData
get { return _DungeonLv; } get { return _DungeonLv; }
set { _DungeonLv = value; _DungeonLv.RandomizeCryptoKey(); } set { _DungeonLv = value; _DungeonLv.RandomizeCryptoKey(); }
} }
protected ObscuredDouble _NightmareBeforeDmg;
public double d_NightmareBeforeDmg
{
get { return _NightmareBeforeDmg; }
set { _NightmareBeforeDmg = value; _NightmareBeforeDmg.RandomizeCryptoKey(); }
}
public BattleMapConfigTableData Get_MapData() { return table_battlemapconfig.Ins.Get_Data(n_MapID); } public BattleMapConfigTableData Get_MapData() { return table_battlemapconfig.Ins.Get_Data(n_MapID); }
public DungeonMapConfigTableData Get_DungeonMapData_orNull() public DungeonMapConfigTableData Get_DungeonMapData_orNull()

View File

@ -10,19 +10,13 @@ public class DungeonResult_Nightmare : DungeonResultBase
{ {
base.Set(win); base.Set(win);
var sdata = ServerInfo.Ins.m_ServerData; var BeforeDmg = Math.Truncate(MyValue.MyChoiceMapData.d_NightmareBeforeDmg);
var BeforeDmg = Math.Truncate(0d);
var CurDmg = Math.Truncate(DungeonInfo.Ins.m_TotalDamage); var CurDmg = Math.Truncate(DungeonInfo.Ins.m_TotalDamage);
texts[0].text = DSUtil.Format("기존 데미지 : {0}\n\n현재 데미지 : {1}", texts[0].text = DSUtil.Format("기존 데미지 : {0}\n\n현재 데미지 : {1}",
NumberFormatter.FormatNumber(BeforeDmg), NumberFormatter.FormatNumber(BeforeDmg),
NumberFormatter.FormatNumber(CurDmg)); NumberFormatter.FormatNumber(CurDmg));
if (CurDmg > BeforeDmg) if (CurDmg > BeforeDmg)
{
//sdata.Set_DungeonLv(eDungeon.d2_Maze, nextFloor);
ServerInfo.Ins.Write(null, false);
ServerInfo.Ins.Save_Rank("Rank_Damage", new List<string> { CurDmg.ToString() }); ServerInfo.Ins.Save_Rank("Rank_Damage", new List<string> { CurDmg.ToString() });
} }
} }
}

View File

@ -75,7 +75,8 @@ public class MapChoiceUI_Dungeon : uScrollViewMgr
MyValue.MyChoiceMapData.n_Difficult = 1; MyValue.MyChoiceMapData.n_Difficult = 1;
SelectLv = Mathf.Max(1, SelectLv - 1); SelectLv = Mathf.Max(1, SelectLv - 1);
texts_maze[0].text = texts_maze[1].text = ""; texts_maze[0].text = texts_maze[1].text = "";
ServerInfo.Ins.Get_MyRank("Rank_Maze", my => ServerInfo.Ins.Get_MyRank(MyValue.dic_Leaderboard[mapData.e_Dungeon],
my =>
{ {
if (DSUtil.CheckNull(my)) if (DSUtil.CheckNull(my))
{ {
@ -93,6 +94,11 @@ public class MapChoiceUI_Dungeon : uScrollViewMgr
list_NightmareTabData.ForEach(f => f.onClick = OnClick_NightmareTab); list_NightmareTabData.ForEach(f => f.onClick = OnClick_NightmareTab);
tab_NightmareDiff.Set(list_NightmareTabData); tab_NightmareDiff.Set(list_NightmareTabData);
OnClick_NightmareTab(); OnClick_NightmareTab();
ServerInfo.Ins.Get_MyRank(MyValue.dic_Leaderboard[mapData.e_Dungeon],
my =>
{
MyValue.MyChoiceMapData.d_NightmareBeforeDmg = DSUtil.CheckNull(my) ? 0d : double.Parse(my.Scores[0]);
});
break; break;
case eDungeon.d4_Wave: case eDungeon.d4_Wave:
break; break;

View File

@ -6,9 +6,6 @@ public class RankingUI_Rank : uScrollViewMgr
public RankingCard myRank; public RankingCard myRank;
Dictionary<eDungeon, float> dic_RefreshTime = new Dictionary<eDungeon, float>(); Dictionary<eDungeon, float> dic_RefreshTime = new Dictionary<eDungeon, float>();
Dictionary<eDungeon, string> dic_Leaderboard = new Dictionary<eDungeon, string>
{ {eDungeon.d2_Maze, "Rank_Maze" }, {eDungeon.d3_Nightmare, "Rank_Damage" }, };
Dictionary<eDungeon, List<EntityLeaderboardEntry>> dic_ranks = new Dictionary<eDungeon, List<EntityLeaderboardEntry>>(); Dictionary<eDungeon, List<EntityLeaderboardEntry>> dic_ranks = new Dictionary<eDungeon, List<EntityLeaderboardEntry>>();
@ -16,7 +13,8 @@ public class RankingUI_Rank : uScrollViewMgr
{ {
gameObject.SetActive(true); gameObject.SetActive(true);
ServerInfo.Ins.Get_Rank(dic_Leaderboard[dungeon], rank100 => var leaderboard = MyValue.dic_Leaderboard[dungeon];
ServerInfo.Ins.Get_Rank(leaderboard, rank100 =>
{ {
if (!dic_RefreshTime.ContainsKey(dungeon)) dic_RefreshTime.Add(dungeon, 0); if (!dic_RefreshTime.ContainsKey(dungeon)) dic_RefreshTime.Add(dungeon, 0);
dic_RefreshTime[dungeon] = 900; dic_RefreshTime[dungeon] = 900;
@ -25,8 +23,9 @@ public class RankingUI_Rank : uScrollViewMgr
dic_ranks[dungeon] = rank100; dic_ranks[dungeon] = rank100;
Set_ScrollView(dic_ranks[dungeon]); Set_ScrollView(dic_ranks[dungeon]);
list_CardBase.ForEach(f => f.Set(MyEnumToInt.Ins.Get_Int(dungeon)));
}); });
ServerInfo.Ins.Get_MyRank(dic_Leaderboard[dungeon], my => { myRank.Set(my); }); ServerInfo.Ins.Get_MyRank(leaderboard, my => { myRank.Set(my); myRank.Set(MyEnumToInt.Ins.Get_Int(dungeon)); });
} }
} }

View File

@ -1,7 +1,3 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RankingUI_Reward : uScrollViewMgr public class RankingUI_Reward : uScrollViewMgr
{ {
public void Set(eDungeon dungeon) public void Set(eDungeon dungeon)

View File

@ -20,6 +20,9 @@ public static class MyValue
} }
} }
public static Dictionary<eDungeon, string> dic_Leaderboard = new Dictionary<eDungeon, string>
{ {eDungeon.d2_Maze, "Rank_Maze" }, {eDungeon.d3_Nightmare, "Rank_Damage" }, };
public static Dictionary<eItem, EquipItemData> dic_EquipmentKey = new Dictionary<eItem, EquipItemData> public static Dictionary<eItem, EquipItemData> dic_EquipmentKey = new Dictionary<eItem, EquipItemData>
{ {
{ eItem.Weapon, new EquipItemData{ id = 0, key = "Weapon" } }, { eItem.Weapon, new EquipItemData{ id = 0, key = "Weapon" } },