58 lines
1.7 KiB
C#
58 lines
1.7 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
// 엔딩 타입 정의
|
|
public enum EndingType
|
|
{
|
|
Normal, // 던전 공략 O
|
|
Bad, // 던전 공략 X
|
|
Happy // 던전 공략 O, 평판 기본 스탯 값 * 1.5 이상
|
|
}
|
|
|
|
public partial class GameManager : Singleton<GameManager>
|
|
{
|
|
private float happyEndReputation = 3.0f;
|
|
|
|
public void ClearStage()
|
|
{
|
|
Debug.Log($"스테이지 레벨 {stageLevel}을 클리어 하셨습니다!");
|
|
stageLevel++;
|
|
}
|
|
|
|
// 엔딩 관련 메서드. 7일차에 실행
|
|
private void TriggerTimeEnding()
|
|
{
|
|
// 플레이어 상태에 따라 엔딩 판별
|
|
EndingType endingType = DetermineEnding();
|
|
|
|
// 엔딩 타입에 따라 다른 씬이나 UI 표시
|
|
switch (endingType)
|
|
{
|
|
case EndingType.Normal:
|
|
Debug.Log("던전 공략 성공");
|
|
// TODO: 엔딩 관련 패널 띄우기
|
|
break;
|
|
case EndingType.Bad:
|
|
Debug.Log("던전 공략 실패");
|
|
|
|
break;
|
|
case EndingType.Happy:
|
|
Debug.Log("던전 공략 성공과 훌륭한 평판 작");
|
|
|
|
break;
|
|
}
|
|
}
|
|
|
|
// 던전 스테이지와 평판 수치로 엔딩 판별
|
|
private EndingType DetermineEnding()
|
|
{
|
|
if (stageLevel < GameConstants.maxStage) // 현재 스테이지 1 혹은 2
|
|
return EndingType.Bad;
|
|
|
|
if (playerStats.ReputationStat >= happyEndReputation) // 평판이 일정 수치 이상
|
|
return EndingType.Happy;
|
|
|
|
return EndingType.Normal;
|
|
}
|
|
} |