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 ba945903..cf3d3819 100644 --- a/Gameton-06/Assets/Gameton/Resources/UI/Prefabs/UI.LobbyUI.prefab +++ b/Gameton-06/Assets/Gameton/Resources/UI/Prefabs/UI.LobbyUI.prefab @@ -3366,7 +3366,7 @@ MonoBehaviour: m_Calls: - m_Target: {fileID: 1707601040220393083} m_TargetAssemblyTypeName: TON.LobbyUI, Assembly-CSharp - m_MethodName: OnClickStagePlayButton + m_MethodName: OnClickRankingButton m_Mode: 1 m_Arguments: m_ObjectArgument: {fileID: 0} diff --git a/Gameton-06/Assets/Gameton/Resources/UI/Prefabs/UI.PauseUI.prefab b/Gameton-06/Assets/Gameton/Resources/UI/Prefabs/UI.PauseUI.prefab index 283485f1..38007b08 100644 --- a/Gameton-06/Assets/Gameton/Resources/UI/Prefabs/UI.PauseUI.prefab +++ b/Gameton-06/Assets/Gameton/Resources/UI/Prefabs/UI.PauseUI.prefab @@ -483,6 +483,7 @@ MonoBehaviour: rechargeModal: {fileID: 7771489983218815686} retryModal: {fileID: 4229756133991172660} homeModal: {fileID: 8282294648677720172} + fishAmount: {fileID: 8148119050712833008} --- !u!1001 &313243043635125493 PrefabInstance: m_ObjectHideFlags: 0 @@ -1459,43 +1460,43 @@ PrefabInstance: m_Modifications: - target: {fileID: 27539374732905338, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 27539374732905338, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 27539374732905338, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 360 objectReference: {fileID: 0} - target: {fileID: 27539374732905338, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -100 objectReference: {fileID: 0} - target: {fileID: 1150813010971508066, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1150813010971508066, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1150813010971508066, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 51 objectReference: {fileID: 0} - target: {fileID: 1150813010971508066, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 45 objectReference: {fileID: 0} - target: {fileID: 1150813010971508066, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 259.5 objectReference: {fileID: 0} - target: {fileID: 1150813010971508066, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -37.5 objectReference: {fileID: 0} - target: {fileID: 1194212059389526510, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_fontAsset @@ -1509,45 +1510,57 @@ PrefabInstance: propertyPath: m_hasFontAssetChanged value: 0 objectReference: {fileID: 0} + - target: {fileID: 1312516987361587835, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 5289490854944505444} + - target: {fileID: 1312516987361587835, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: OnClickUseCashButton + objectReference: {fileID: 0} + - target: {fileID: 1312516987361587835, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: TON.PauseUI, Assembly-CSharp + objectReference: {fileID: 0} - target: {fileID: 1632260334339437034, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1632260334339437034, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1632260334339437034, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 600 objectReference: {fileID: 0} - target: {fileID: 1632260334339437034, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -100 objectReference: {fileID: 0} - target: {fileID: 1750486691344034846, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1750486691344034846, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1750486691344034846, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 51 objectReference: {fileID: 0} - target: {fileID: 1750486691344034846, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 45 objectReference: {fileID: 0} - target: {fileID: 1750486691344034846, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 203.5 objectReference: {fileID: 0} - target: {fileID: 1750486691344034846, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -37.5 objectReference: {fileID: 0} - target: {fileID: 2014817396651137805, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_fontAsset @@ -1659,27 +1672,39 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3415751508290410392, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3415751508290410392, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 3415751508290410392, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 51 objectReference: {fileID: 0} - target: {fileID: 3415751508290410392, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 45 objectReference: {fileID: 0} - target: {fileID: 3415751508290410392, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 35.5 objectReference: {fileID: 0} - target: {fileID: 3415751508290410392, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -37.5 + objectReference: {fileID: 0} + - target: {fileID: 4257220602582184208, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 5289490854944505444} + - target: {fileID: 4257220602582184208, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: OnClickUseCashButton + objectReference: {fileID: 0} + - target: {fileID: 4257220602582184208, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: TON.PauseUI, Assembly-CSharp objectReference: {fileID: 0} - target: {fileID: 4542825537873683785, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_Name @@ -1687,7 +1712,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4542825537873683785, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_IsActive - value: 1 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4846412724568134204, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 5289490854944505444} + - target: {fileID: 4846412724568134204, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: OnClickAdButton + objectReference: {fileID: 0} + - target: {fileID: 4846412724568134204, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: TON.PauseUI, Assembly-CSharp objectReference: {fileID: 0} - target: {fileID: 5607894149688796868, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_fontAsset @@ -1703,19 +1740,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6005301849909924835, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6005301849909924835, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6005301849909924835, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 120 objectReference: {fileID: 0} - target: {fileID: 6005301849909924835, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -100 objectReference: {fileID: 0} - target: {fileID: 6498735799474681239, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.y @@ -1723,27 +1760,27 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6869740172896691300, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6869740172896691300, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6869740172896691300, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 51 objectReference: {fileID: 0} - target: {fileID: 6869740172896691300, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 45 objectReference: {fileID: 0} - target: {fileID: 6869740172896691300, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 147.5 objectReference: {fileID: 0} - target: {fileID: 6869740172896691300, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -37.5 objectReference: {fileID: 0} - target: {fileID: 7681041094976077926, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_fontAsset @@ -1783,27 +1820,27 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8911194147253732922, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8911194147253732922, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8911194147253732922, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 51 objectReference: {fileID: 0} - target: {fileID: 8911194147253732922, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 45 objectReference: {fileID: 0} - target: {fileID: 8911194147253732922, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 91.5 objectReference: {fileID: 0} - target: {fileID: 8911194147253732922, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -37.5 objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] @@ -1815,6 +1852,17 @@ GameObject: m_CorrespondingSourceObject: {fileID: 4542825537873683785, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} m_PrefabInstance: {fileID: 6112153489407424399} m_PrefabAsset: {fileID: 0} +--- !u!114 &8148119050712833008 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 2720548198562131071, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} + m_PrefabInstance: {fileID: 6112153489407424399} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!224 &8659056901785831664 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 3240794480833331071, guid: f4a016815da869a4dad6d8dc7e8aab79, type: 3} diff --git a/Gameton-06/Assets/Gameton/Scripts/Character/Heart/HeartDataManager.cs b/Gameton-06/Assets/Gameton/Scripts/Character/Heart/HeartDataManager.cs index 5d26296c..ee93d16d 100644 --- a/Gameton-06/Assets/Gameton/Scripts/Character/Heart/HeartDataManager.cs +++ b/Gameton-06/Assets/Gameton/Scripts/Character/Heart/HeartDataManager.cs @@ -116,38 +116,52 @@ namespace TON if (currentHeartData.currentHearts > 0) { currentHeartData.currentHearts--; - // lastHeartTime이 비어있거나 잘못된 경우를 대비하여 기본값 설정 - DateTime lastTime; - bool hasValidTime = DateTime.TryParse(currentHeartData.lastHeartTime, out lastTime); - - if (!hasValidTime) + // 하트를 사용한 후 하트가 최대 개수보다 적을 때만 타이머 시작/업데이트 + if (currentHeartData.currentHearts < 5) { - lastTime = DateTime.Now; // 기본값을 현재 시간으로 설정 - currentHeartData.lastHeartTime = lastTime.ToString(); + // lastHeartTime이 비어있거나 잘못된 경우를 대비하여 기본값 설정 + DateTime lastTime; + bool hasValidTime = DateTime.TryParse(currentHeartData.lastHeartTime, out lastTime); + + TimeSpan timePassed = DateTime.Now - lastTime; + + // 재충전 시간이 지났거나, 비어있거나, 하트가 최대치였다가 감소했을 때 lastHeartTime 갱신 + if (!hasValidTime || timePassed.TotalSeconds >= heartRechargeTime || string.IsNullOrEmpty(currentHeartData.lastHeartTime)) + { + currentHeartData.lastHeartTime = DateTime.Now.ToString(); + } } - TimeSpan timePassed = DateTime.Now - lastTime; - - // 재충전 시간이 지났거나, 처음 소모하여 재충전이 시작될 때만 lastHeartTime 갱신 - if (timePassed.TotalSeconds >= heartRechargeTime || currentHeartData.currentHearts == maxHearts - 1) - { - currentHeartData.lastHeartTime = DateTime.Now.ToString(); - } SaveHeartData(); + UpdateHeartSystem(); + } + } - HeartSystem heartSystem = FindObjectOfType(); - if (heartSystem != null) - { - heartSystem.UpdateHeartUI(); // UI 업데이트 + public static void UpdateHeartSystem() + { + HeartSystem heartSystem = FindObjectOfType(); + if (heartSystem != null) + { + heartSystem.UpdateHeartUI(); // UI 업데이트 - } } } // 사용자의 광고 시청, 생선 소모 등으로 하트 충전하는 경우 호출출 public void AddHeart(int amount) { + int previousHearts = currentHeartData.currentHearts; + currentHeartData.currentHearts += amount; + // 하트가 5개 미만에서 5개 이상으로 변경되었을 때 타이머 초기화 + if (previousHearts < 5 && currentHeartData.currentHearts >= 5) + { + // 하트가 가득 찼으므로 lastHeartTime을 빈 문자열이나 특정 값으로 설정하여 타이머 중지 + currentHeartData.lastHeartTime = ""; + } + + SaveHeartData(); + UpdateHeartSystem(); } // 데이터 파일에 저장된 마지막 하트 사용시간과 동기화 diff --git a/Gameton-06/Assets/Gameton/Scripts/Character/PlayerDataManager.cs b/Gameton-06/Assets/Gameton/Scripts/Character/PlayerDataManager.cs index 8d5da789..d221a749 100644 --- a/Gameton-06/Assets/Gameton/Scripts/Character/PlayerDataManager.cs +++ b/Gameton-06/Assets/Gameton/Scripts/Character/PlayerDataManager.cs @@ -65,7 +65,7 @@ namespace TON } public void UseGold(int amount) { - if (goldAmount - amount < amount) + if (goldAmount - amount < 0) { // 골드 재화 사용 불가 팝업 UIManager.Show(UIList.GoldPopup); @@ -89,20 +89,18 @@ namespace TON // UpdateUI(); }); } - public void UseFish(int amount) + public void UseFish(int amount, System.Action callback) { - if (fishAmount - amount < amount) + if (fishAmount - amount < 0) { - // 생선 재화 사용 불가 팝업 - UIManager.Show(UIList.FishPopup); + callback?.Invoke(false); return; } fishAmount -= amount; cashDataManager.UpdateFishData(fishAmount, updatedData => { - // TODO: UI 업데이트 로직 적용 - // UpdateUI(); + callback?.Invoke(true); }); } diff --git a/Gameton-06/Assets/Gameton/Scripts/UI/GameWinUI.cs b/Gameton-06/Assets/Gameton/Scripts/UI/GameWinUI.cs index 8ebb76dd..491b3b9e 100644 --- a/Gameton-06/Assets/Gameton/Scripts/UI/GameWinUI.cs +++ b/Gameton-06/Assets/Gameton/Scripts/UI/GameWinUI.cs @@ -129,18 +129,37 @@ namespace TON public void OnClickUseCashButton(int count) { - // TODO: 보유한 생선 갯수를 소모하고 하트를 충전 + // 보유한 생선 갯수를 소모하고 하트를 충전 Debug.Log("OnClickUseCashButton::: fish :: " + count); + PlayerDataManager.Singleton.UseFish(count, (isSuccess) => + { + if (isSuccess) + { + UpdateFishCount(); + // 충전을 완료하고 modal 닫기 + rechargeModal.SetActive(false); + AddHeart(count); + } + else + { + // 생선 재화 사용 불가 팝업 + Debug.Log("생선 재화 사용 불가 팝업"); + } + }); + } + + private static void AddHeart(int count) + { switch (count) { case 5: // 하트 1개 충전 - + HeartDataManager.Singleton.AddHeart(1); break; case 45: // 하트 10개 충전 - + HeartDataManager.Singleton.AddHeart(10); break; } } diff --git a/Gameton-06/Assets/Gameton/Scripts/UI/LobbyUI.cs b/Gameton-06/Assets/Gameton/Scripts/UI/LobbyUI.cs index 5138d856..2754ae3e 100644 --- a/Gameton-06/Assets/Gameton/Scripts/UI/LobbyUI.cs +++ b/Gameton-06/Assets/Gameton/Scripts/UI/LobbyUI.cs @@ -103,10 +103,16 @@ namespace TON UIManager.Show(UIList.SkillSettingUI); } + public void OnClickRankingButton() + { + // TODO: 랭킹 UI 추가 + // UIManager.Show(UIList.RankingUI); + } + public void OnClickShopButton() { // TODO: 상점 UI 추가 - // UIManager.Show(UIList.ShopUI); + // 상점은 Scene으로 전환하자. } } } diff --git a/Gameton-06/Assets/Gameton/Scripts/UI/PauseUI.cs b/Gameton-06/Assets/Gameton/Scripts/UI/PauseUI.cs index 9f5d8d66..789e3139 100644 --- a/Gameton-06/Assets/Gameton/Scripts/UI/PauseUI.cs +++ b/Gameton-06/Assets/Gameton/Scripts/UI/PauseUI.cs @@ -1,5 +1,6 @@ using System.Collections; using System.Collections.Generic; +using TMPro; using UnityEngine; using UnityEngine.UI; @@ -13,9 +14,13 @@ namespace TON public GameObject retryModal; public GameObject homeModal; + [SerializeField] private TextMeshProUGUI fishAmount; + + void OnEnable() { InitModalActive(); + UpdateFishCount(); // 일시정지 시 게임 일시정지 Time.timeScale = 0f; } @@ -27,6 +32,10 @@ namespace TON homeModal.SetActive(false); } + public void UpdateFishCount() + { + fishAmount.text = string.Format("{0:#,###}", PlayerDataManager.Singleton.fishAmount); + } // 컨티뉴 버튼 선택 시 public void OnPressContinueButton() @@ -58,7 +67,7 @@ namespace TON return; } - retryModal.SetActive(true); + OnClickStageRetryButton(); } public void OnClickStageRetryButton() { @@ -87,14 +96,47 @@ namespace TON public void OnClickUseCashButton(int count) { - // TODO: 보유한 생선 갯수를 소모하고 하트를 충전 - Debug.Log("OnClickUseCashButton::: fish :: " + count); + // 보유한 생선 갯수를 소모하고 하트를 충전 + PlayerDataManager.Singleton.UseFish(count, (isSuccess) => + { + if (isSuccess) + { + UpdateFishCount(); + // 충전을 완료하고 modal 닫기 + rechargeModal.SetActive(false); + + AddHeart(count); + } + else + { + // 생선 재화 사용 불가 팝업 + Debug.Log("생선 재화 사용 불가 팝업"); + } + }); + } + + private static void AddHeart(int count) + { + switch (count) + { + case 5: + // 하트 1개 충전 + HeartDataManager.Singleton.AddHeart(1); + break; + case 45: + // 하트 10개 충전 + HeartDataManager.Singleton.AddHeart(10); + break; + } } public void OnClickAdButton() { // TODO: 광고 시청 로직 추가, 광고 종료 후 하트 충전 Debug.Log("OnClickAdButton::: "); + + // 광고 시청 종료 후 콜백 + rechargeModal.SetActive(false); } } }