From 96782161d0f1069152dd4c380b0d0aa99cf7d9ce Mon Sep 17 00:00:00 2001 From: Ino Date: Fri, 31 Jan 2025 14:32:03 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9E=AD=ED=82=B9=20ui=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/ResWork/UIPrefabs/Rank/RankingCard.cs | 40 ++++++++++++++----- Assets/Script/Map/MapData.cs | 6 +++ .../Ingame/Dungeon/DungeonResult_Nightmare.cs | 12 ++---- Assets/Script/UI/Map/MapChoiceUI_Dungeon.cs | 8 +++- Assets/Script/UI/Rank/RankingUI_Rank.cs | 9 ++--- Assets/Script/UI/Rank/RankingUI_Reward.cs | 4 -- Assets/Script/Util/MyValue.cs | 3 ++ 7 files changed, 52 insertions(+), 30 deletions(-) diff --git a/Assets/ResWork/UIPrefabs/Rank/RankingCard.cs b/Assets/ResWork/UIPrefabs/Rank/RankingCard.cs index 998811465..80421e5bd 100644 --- a/Assets/ResWork/UIPrefabs/Rank/RankingCard.cs +++ b/Assets/ResWork/UIPrefabs/Rank/RankingCard.cs @@ -10,18 +10,36 @@ public class RankingCard : CardBase public override void Set(T _base) { base.Set(_base); - EntityLeaderboardEntry data = _base as EntityLeaderboardEntry; - var metaDatas = data.Metadata.Split('|'); // 0 코스튬Id + if (!DSUtil.CheckNull(_base)) + { + EntityLeaderboardEntry data = _base as EntityLeaderboardEntry; + var metaDatas = data.Metadata.Split('|'); // 0 코스튬Id - texts[0].text = data.Rank > 3 ? data.Rank.ToString() : ""; - images[0].enabled = data.Rank <= 3; - if (images[0].enabled) - images[0].sprite = UIAtlasMgr.Ins.Get_Sprite(DSUtil.Format("rank{0}", data.Rank)); - texts[1].text = data.DisplayName; - texts[2].text = $"F{data.Scores[0]}"; + texts[0].text = data.Rank > 3 ? data.Rank.ToString() : ""; + images[0].enabled = data.Rank <= 3; + if (images[0].enabled) + images[0].sprite = UIAtlasMgr.Ins.Get_Sprite(DSUtil.Format("rank{0}", data.Rank)); + texts[1].text = data.DisplayName; + texts[2].text = data.Scores[0]; - // TODO 정인호 : 얼굴은 어디에 종속인 지 아직 모름 - //var costumetable = table_costumelist.Ins.Get_Data_orNull(int.Parse(metaDatas[0])); - //images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(costumetable.s_Image); + // TODO 정인호 : 얼굴은 어디에 종속인 지 아직 모름 + //var costumetable = table_costumelist.Ins.Get_Data_orNull(int.Parse(metaDatas[0])); + //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)); } } \ No newline at end of file diff --git a/Assets/Script/Map/MapData.cs b/Assets/Script/Map/MapData.cs index 67db37940..588826417 100644 --- a/Assets/Script/Map/MapData.cs +++ b/Assets/Script/Map/MapData.cs @@ -71,6 +71,12 @@ public class ChoiceMapData get { return _DungeonLv; } 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 DungeonMapConfigTableData Get_DungeonMapData_orNull() diff --git a/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Nightmare.cs b/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Nightmare.cs index 0b35cebec..17757033d 100644 --- a/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Nightmare.cs +++ b/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Nightmare.cs @@ -10,19 +10,13 @@ public class DungeonResult_Nightmare : DungeonResultBase { base.Set(win); - var sdata = ServerInfo.Ins.m_ServerData; - var BeforeDmg = Math.Truncate(0d); + var BeforeDmg = Math.Truncate(MyValue.MyChoiceMapData.d_NightmareBeforeDmg); var CurDmg = Math.Truncate(DungeonInfo.Ins.m_TotalDamage); texts[0].text = DSUtil.Format("기존 데미지 : {0}\n\n현재 데미지 : {1}", - NumberFormatter.FormatNumber(BeforeDmg), - NumberFormatter.FormatNumber(CurDmg)); + NumberFormatter.FormatNumber(BeforeDmg), + NumberFormatter.FormatNumber(CurDmg)); if (CurDmg > BeforeDmg) - { - //sdata.Set_DungeonLv(eDungeon.d2_Maze, nextFloor); - ServerInfo.Ins.Write(null, false); - ServerInfo.Ins.Save_Rank("Rank_Damage", new List { CurDmg.ToString() }); - } } } \ No newline at end of file diff --git a/Assets/Script/UI/Map/MapChoiceUI_Dungeon.cs b/Assets/Script/UI/Map/MapChoiceUI_Dungeon.cs index 751744a28..c05c98068 100644 --- a/Assets/Script/UI/Map/MapChoiceUI_Dungeon.cs +++ b/Assets/Script/UI/Map/MapChoiceUI_Dungeon.cs @@ -75,7 +75,8 @@ public class MapChoiceUI_Dungeon : uScrollViewMgr MyValue.MyChoiceMapData.n_Difficult = 1; SelectLv = Mathf.Max(1, SelectLv - 1); 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)) { @@ -93,6 +94,11 @@ public class MapChoiceUI_Dungeon : uScrollViewMgr list_NightmareTabData.ForEach(f => f.onClick = OnClick_NightmareTab); tab_NightmareDiff.Set(list_NightmareTabData); 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; case eDungeon.d4_Wave: break; diff --git a/Assets/Script/UI/Rank/RankingUI_Rank.cs b/Assets/Script/UI/Rank/RankingUI_Rank.cs index 5a17e4963..d28fc1f3e 100644 --- a/Assets/Script/UI/Rank/RankingUI_Rank.cs +++ b/Assets/Script/UI/Rank/RankingUI_Rank.cs @@ -6,9 +6,6 @@ public class RankingUI_Rank : uScrollViewMgr public RankingCard myRank; Dictionary dic_RefreshTime = new Dictionary(); - Dictionary dic_Leaderboard = new Dictionary - { {eDungeon.d2_Maze, "Rank_Maze" }, {eDungeon.d3_Nightmare, "Rank_Damage" }, }; - Dictionary> dic_ranks = new Dictionary>(); @@ -16,7 +13,8 @@ public class RankingUI_Rank : uScrollViewMgr { 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); dic_RefreshTime[dungeon] = 900; @@ -25,8 +23,9 @@ public class RankingUI_Rank : uScrollViewMgr dic_ranks[dungeon] = rank100; 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)); }); } } \ No newline at end of file diff --git a/Assets/Script/UI/Rank/RankingUI_Reward.cs b/Assets/Script/UI/Rank/RankingUI_Reward.cs index f06ea9aa3..7af0a8a03 100644 --- a/Assets/Script/UI/Rank/RankingUI_Reward.cs +++ b/Assets/Script/UI/Rank/RankingUI_Reward.cs @@ -1,7 +1,3 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - public class RankingUI_Reward : uScrollViewMgr { public void Set(eDungeon dungeon) diff --git a/Assets/Script/Util/MyValue.cs b/Assets/Script/Util/MyValue.cs index 9b269c47d..516d4d710 100644 --- a/Assets/Script/Util/MyValue.cs +++ b/Assets/Script/Util/MyValue.cs @@ -20,6 +20,9 @@ public static class MyValue } } + public static Dictionary dic_Leaderboard = new Dictionary + { {eDungeon.d2_Maze, "Rank_Maze" }, {eDungeon.d3_Nightmare, "Rank_Damage" }, }; + public static Dictionary dic_EquipmentKey = new Dictionary { { eItem.Weapon, new EquipItemData{ id = 0, key = "Weapon" } },