feat: 게임 클리어 팝업 로직 수정

This commit is contained in:
aube.lee
2025-02-27 10:00:12 +09:00
parent 019770935a
commit 22da0f2b43
2 changed files with 342 additions and 5 deletions

View File

@@ -1,19 +1,29 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
namespace TON
{
public class GameWinUI : UIBase
{
public static GameWinUI Instance => UIManager.Singleton.GetUI<GameWinUI>(UIList.GameWinUI);
public readonly string GAME_OVER = "£ GAME OVER £";
public readonly string YOU_WIN = "♧ YOU WIN ♧";
public GameObject rechargeModal;
public GameObject retryModal;
public GameObject homeModal;
public TextMeshProUGUI title;
private void OnEnable()
{
rechargeModal.SetActive(false);
SetUITitle();
// 해당 UI 노출과 함께 게임 클리어 정보 저장
StageManager.Singleton.StageClear();
@@ -22,30 +32,56 @@ namespace TON
}
public void SetUITitle()
{
title.text = (StageManager.Singleton.waveCount == 10) ? YOU_WIN : GAME_OVER;
}
public void OnClickHomeModal()
{
homeModal.SetActive(true);
}
public void OnClickHomeButton()
{
Main.Singleton.ChangeScene(SceneType.Lobby);
}
public void OnClickRetryButton()
public void OnClickStageRetryModal()
{
// 가지고 있는 하트가 없다면 입장 불가
if (HeartDataManager.Singleton.GetCurrentHearts() < 1)
{
Time.timeScale = 0f;
// 하트 충전 modal 출력
rechargeModal.SetActive(true);
return;
}
retryModal.SetActive(true);
}
public void OnClickStageRetryButton()
{
Time.timeScale = 1f;
// 입장 시 하트 소모
HeartDataManager.Singleton.UseHeart();
Main.Singleton.ChangeScene(SceneType.Stage);
}
public void OnClickCloseButton()
public void OnClickCloseButton(string keyword)
{
rechargeModal.SetActive(false);
switch (keyword)
{
case "recharge":
rechargeModal.SetActive(false);
break;
case "retry":
retryModal.SetActive(false);
break;
case "home":
homeModal.SetActive(false);
break;
}
}
public void OnClickUseCashButton(int count)