From a1b2b78789f224f8cea4f1080c165d083120662a Mon Sep 17 00:00:00 2001 From: "aube.lee" Date: Mon, 3 Mar 2025 14:37:51 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=A1=9C=EB=B9=84=20=ED=99=94=EB=A9=B4?= =?UTF-8?q?=20=EB=82=B4=EC=9D=98=20=EC=BA=90=EB=A6=AD=ED=84=B0=20=EA=B2=BD?= =?UTF-8?q?=ED=97=98=EC=B9=98=20=EC=84=B8=ED=8C=85=EB=90=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8A=94=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Resources/UI/Prefabs/UI.LobbyUI.prefab | 23 ++++++++++--------- .../Scripts/Character/PlayerDataManager.cs | 6 ++++- .../Assets/Gameton/Scripts/UI/LobbyUI.cs | 3 +++ 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/Gameton-06/Assets/Gameton/Resources/UI/Prefabs/UI.LobbyUI.prefab b/Gameton-06/Assets/Gameton/Resources/UI/Prefabs/UI.LobbyUI.prefab index 125a8c16..904af628 100644 --- a/Gameton-06/Assets/Gameton/Resources/UI/Prefabs/UI.LobbyUI.prefab +++ b/Gameton-06/Assets/Gameton/Resources/UI/Prefabs/UI.LobbyUI.prefab @@ -1785,10 +1785,10 @@ RectTransform: - {fileID: 7231777028936604665} m_Father: {fileID: 8611626140642664275} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -113.70004} - m_SizeDelta: {x: 180, y: 50} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: -140} + m_SizeDelta: {x: -80, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &6102782865721960545 CanvasRenderer: @@ -2293,7 +2293,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -68} + m_AnchoredPosition: {x: 0, y: -80} m_SizeDelta: {x: 200, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3228335254417866463 @@ -2598,6 +2598,7 @@ MonoBehaviour: characterAttck: {fileID: 7024621486223063594} characterDefence: {fileID: 759935029723638107} characterCritical: {fileID: 6053148670662040763} + characterExp: {fileID: 619988482682392987} monsterIcon: {fileID: 7850172756058034615} wave: {fileID: 4021099301320444836} playTime: {fileID: 708268260796241340} @@ -5475,9 +5476,9 @@ RectTransform: - {fileID: 4207087476944949048} m_Father: {fileID: 662919711156962713} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: -88.4, y: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 100, y: 0} m_SizeDelta: {x: 55, y: 50} m_Pivot: {x: 1, y: 0.5} --- !u!1 &7089398332011388313 @@ -6231,10 +6232,10 @@ RectTransform: - {fileID: 4073489218153538406} m_Father: {fileID: 662919711156962713} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: -6.3999863, y: 0} - m_SizeDelta: {x: 80, y: 50} + m_AnchoredPosition: {x: -8, y: 0} + m_SizeDelta: {x: -108, y: 50} m_Pivot: {x: 1, y: 0.5} --- !u!1 &8387423531455542859 GameObject: diff --git a/Gameton-06/Assets/Gameton/Scripts/Character/PlayerDataManager.cs b/Gameton-06/Assets/Gameton/Scripts/Character/PlayerDataManager.cs index 5f869a57..1cb366ce 100644 --- a/Gameton-06/Assets/Gameton/Scripts/Character/PlayerDataManager.cs +++ b/Gameton-06/Assets/Gameton/Scripts/Character/PlayerDataManager.cs @@ -15,6 +15,7 @@ namespace TON public UserItemData userItem { get; private set; } = new UserItemData(); public int defensiveIntention { get; private set; } = 200; // 방어력 변수 (조정 가능) + public int requireLevelUpExp; // 경험치 변수 (조정 가능) [SerializeField] private int expVariable = 50; // 경험치 변수 (조정 가능) [SerializeField] private int attackGrowthFactor = 50; // 공격력 성장 변수 (조정 가능) @@ -30,6 +31,7 @@ namespace TON LoadPlayerData(); LoadPlayerCashData(); LoadPlayerItemData(); + } private void LoadPlayerData() @@ -152,7 +154,7 @@ namespace TON player.experience += amount; // 추가된 경험치로 인한 현재 경험치가 레벨업에 필요한 경험치보다 크거나 같다면 레벨업 - int requireLevelUpExp = GetRequiredExp(player.level); + requireLevelUpExp = GetRequiredExp(player.level); if (player.experience >= requireLevelUpExp) { // 레벨업 후 초과된 경험치를 반영하기 위해 다시 계산 @@ -184,6 +186,8 @@ namespace TON // 현재 플레이어 1개만 사용하므로 0번째 인덱스의 플레이어 데이터를 사용 PlayerPrefs.SetInt("SelectedPlayerIndex", 0); player = playersData[0]; + // 현재 플레이어의 정보를 세팅하고, 레벨업 필요 경험치 정보를 세팅 + requireLevelUpExp = GetRequiredExp(player.level); } else { diff --git a/Gameton-06/Assets/Gameton/Scripts/UI/LobbyUI.cs b/Gameton-06/Assets/Gameton/Scripts/UI/LobbyUI.cs index f1eb513d..efebde9e 100644 --- a/Gameton-06/Assets/Gameton/Scripts/UI/LobbyUI.cs +++ b/Gameton-06/Assets/Gameton/Scripts/UI/LobbyUI.cs @@ -17,6 +17,7 @@ namespace TON [SerializeField] private TextMeshProUGUI characterAttck; [SerializeField] private TextMeshProUGUI characterDefence; [SerializeField] private TextMeshProUGUI characterCritical; + [SerializeField] private TextMeshProUGUI characterExp; // 스테이지 클리어 기록 텍스트 [SerializeField] private Image monsterIcon; @@ -79,6 +80,8 @@ namespace TON characterAttck.text = $"{player.attackPower}"; characterDefence.text = $"{player.defensivePower}"; characterCritical.text = $"{player.critical}"; + + characterExp.text = $"{player.experience}/{PlayerDataManager.Singleton.requireLevelUpExp}"; } // 사용자 보유 포션 수량 세팅