feat: 스테이지 저장 로직 수정 작업 1차
This commit is contained in:
@@ -11,7 +11,7 @@ namespace TON
|
|||||||
if (collision.CompareTag("Player"))
|
if (collision.CompareTag("Player"))
|
||||||
{
|
{
|
||||||
// 캐릭터가 StageDeadZone에 들어옴과 동시에 게임오버 정보를 저장하도록 함
|
// 캐릭터가 StageDeadZone에 들어옴과 동시에 게임오버 정보를 저장하도록 함
|
||||||
StageManager.Singleton.StageGameOver();
|
// StageManager.Singleton.StageGameOver();
|
||||||
|
|
||||||
// 캐릭터 Dead 로직 실행
|
// 캐릭터 Dead 로직 실행
|
||||||
CharacterBase character = collision.gameObject.GetComponentInChildren<CharacterBase>();
|
CharacterBase character = collision.gameObject.GetComponentInChildren<CharacterBase>();
|
||||||
|
|||||||
@@ -14,9 +14,14 @@ namespace TON
|
|||||||
|
|
||||||
// 현재 플레이 시간을 초 단위로 반환하는 프로퍼티
|
// 현재 플레이 시간을 초 단위로 반환하는 프로퍼티
|
||||||
public float PlayTime => Time.time - stageStartTime;
|
public float PlayTime => Time.time - stageStartTime;
|
||||||
|
public int goldReward { get; private set; } = 0; // 골드 획득 보상
|
||||||
|
public int expReward { get; private set; } = 0; // 경험치 획득 보상
|
||||||
|
public int waveCount { get; private set; } // 클리어한 웨이브 넘버
|
||||||
|
public int gameScore { get; private set; } = 0; // 몬스터 처치로 얻은 점수 보상
|
||||||
|
|
||||||
private float stageStartTime; // 스테이지 시작 시간
|
private float stageStartTime; // 스테이지 시작 시간
|
||||||
private string stageId; // 스테이지 아이디
|
// private string stageId; // 스테이지 아이디
|
||||||
|
|
||||||
|
|
||||||
public void Initialize()
|
public void Initialize()
|
||||||
{
|
{
|
||||||
@@ -78,43 +83,53 @@ namespace TON
|
|||||||
public void StartStage(string stageId)
|
public void StartStage(string stageId)
|
||||||
{
|
{
|
||||||
stageStartTime = Time.time;
|
stageStartTime = Time.time;
|
||||||
this.stageId = stageId;
|
// this.stageId = stageId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int GetStarCount(float elapsedTime)
|
// public int GetStarCount(float elapsedTime)
|
||||||
|
// {
|
||||||
|
// if (elapsedTime <= 180f)
|
||||||
|
// return 3;
|
||||||
|
// else if (elapsedTime <= 300f)
|
||||||
|
// return 2;
|
||||||
|
// else
|
||||||
|
// return 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 게임 웨이브 진행 시 획득한 골드와 경험치 정보를 저장하게 함
|
||||||
|
/// </summary>
|
||||||
|
public void SetWaveData(int wave, int gold, int exp, int score)
|
||||||
{
|
{
|
||||||
if (elapsedTime <= 180f)
|
waveCount = wave;
|
||||||
return 3;
|
goldReward += gold;
|
||||||
else if (elapsedTime <= 300f)
|
expReward += exp;
|
||||||
return 2;
|
gameScore += score;
|
||||||
else
|
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StageClear()
|
public void StageClear()
|
||||||
{
|
{
|
||||||
string characterId = PlayerDataManager.Singleton.player.id;
|
string characterId = PlayerPrefs.GetString("BackendCustomID", string.Empty);
|
||||||
float clearTime = Time.time - stageStartTime;
|
float clearTime = Time.time - stageStartTime;
|
||||||
int starCount = GetStarCount(clearTime);
|
// int starCount = GetStarCount(clearTime);
|
||||||
Debug.Log($"스테이지 클리어! 별 개수: {starCount}");
|
|
||||||
|
|
||||||
// UI 업데이트, 데이터 저장 로직 추가
|
// TODO: UI 업데이트, 데이터 저장 로직 추가
|
||||||
StageClearData stageClearData = new StageClearData(characterId, stageId, clearTime, starCount);
|
// StageClearData stageClearData = new StageClearData(characterId, stageId, clearTime, starCount);
|
||||||
stageClearDatas.Add(stageClearData);
|
// stageClearDatas.Add(stageClearData);
|
||||||
SaveStageClearData();
|
SaveStageClearData();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StageGameOver()
|
// public void StageGameOver()
|
||||||
{
|
// {
|
||||||
string characterId = PlayerDataManager.Singleton.player.id;
|
// string characterId = PlayerDataManager.Singleton.player.id;
|
||||||
float clearTime = Time.time - stageStartTime;
|
// float clearTime = Time.time - stageStartTime;
|
||||||
int starCount = -1;
|
// int starCount = -1;
|
||||||
|
|
||||||
// UI 업데이트, 데이터 저장 로직 추가
|
// // UI 업데이트, 데이터 저장 로직 추가
|
||||||
StageClearData stageClearData = new StageClearData(characterId, stageId, clearTime, starCount);
|
// StageClearData stageClearData = new StageClearData(characterId, stageId, clearTime, starCount);
|
||||||
stageClearDatas.Add(stageClearData);
|
// stageClearDatas.Add(stageClearData);
|
||||||
SaveStageClearData();
|
// SaveStageClearData();
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user