카드 뒤집기 게임을 계속해서 만들고있다....
PlayerPrefs를 활용한 코드들을 주석을 달아가며 복습해보자
아래는 스테이지 확인을 위해 스테이지를 클리어하면 PlayerPrefs 를 이용해 데이터를 저장하는 코드이다.
public void EndGame() // EndGame 함수가 실행되면
{
int stageLvl = StageButton.stageLevel; // 스테이지 레벨 체크
if (stageLvl == 1) // 1이면
{
RandomCard();
PlayerPrefs.SetInt("NormalModeCleared", 1); // NormalModeCleared 에 1저장
PlayerPrefs.Save();// 데이터저장
}
else if (stageLvl == 2)
{
RandomCard();
PlayerPrefs.SetInt("HardModeCleared", 1);
PlayerPrefs.Save();
}
isStart = false;
endText.SetActive(true); // 끝 표시
//게임 종료(끝! 텍스트 발생) 후, 1초후 UI 활성화
Invoke("ActiveGameoverUi", 1);
}
이런식으로 저장을 한 후
아래 코드로 불러와서 알맞은 단계를 해금해주었다.
private void Start()
{
UpdateCardSlots();
bool nC = PlayerPrefs.GetInt("NormalModeCleared", 0) == 1; // 여기서 "NormalModeCleared", 0 의 0은 저장된 값이 없을 경우 0으로 초기화 하는것이다. NormalModeCleared안에 저장된 값이 있다면 0은 아무것도 아니고 PlayerPrefs.GetInt("NormalModeCleared", 0) == 1 = true가 된다.
bool hC = PlayerPrefs.GetInt("HardModeCleared", 0) == 1;
if (nC)
{
HardBtn.SetActive(true);
HardBtnOff.SetActive(false);
}
else if (hC)
{
HiddenBtn.SetActive(true);
}
else if (!nC)
{
HardBtn.SetActive(false) ;
HardBtnOff.SetActive(true);
}
}
그리고 이렇게 배운 것을 활용해,, 카드 수집 시스템을 만들려고했는데,,,내일 튜터님을 좀 괴롭혀야 할 일이 생긴 것 같다......