Class GameDev* SheepAdult

PlayerPrefs 본문

Unity

PlayerPrefs

SheepAdult 2021. 12. 29. 23:11

 유니티에서 제공하는 데이터 관리 클래스이다. 게임 세션 사이에 플레이어 preference를 저장하고 접근한다. TwoWeeksProject를 진행 중 원하는 레벨을 선택하면 씬이 전환되고 해당 씬으로 로드가 되는 기능이 필요해서 static int로 스테이지 값을 넘겨받았는데 이보다는 PlayerPrefs를 사용하는 게 더 편리할 것 같아 수정했다.

 PlayerPrefs의 저장 경로는 [레지스트리 편집기]/[HKEY_CURRENT_USER]/[SOFTWARE]/[Unity]/[UnityEditor]/[DefaultCompany]/["ProjectName"] 이다.

<그림 1>

if (PlayerPrefs.HasKey("level"))
        {
            levelReached = PlayerPrefs.GetInt("level");
        }
        else
        {
            PlayerPrefs.SetInt("level", 1);
            levelReached = PlayerPrefs.GetInt("level");
        }
 void LevelSelected(int index)
    {
        PlayerPrefs.SetInt("levelSelected", index);
        LoadGamePlay(index);
    }

    void LoadGamePlay(int index)
    {
        SceneManager.LoadScene("SampleScene");       
    }

<그림 1>은 위의 두 코드가 작성되었을 경우 생성된 데이터를 저장하고 있는 모습이다.

 

Static Functions

DeleteAll : preference에서 모든 key와 값들을 제거합니다. 사용 시 경고가 뜹니다.

DeleteKey : 키와 대응하는 값을 삭제합니다.

GetFloat : Preference 파일에 존재하는 /key/에 대응하는 값을 반환합니다.

GetInt : Preference 파일에 존재하는 /key/에 대응하는 값을 반환합니다.

GetString : Preference 파일에 존재하는 /key/에 대응하는 값을 반환합니다.

HasKey : 키가 존재하는지 확인합니다.

Save : 수정된 모든 preferences를 디스크에 씁니다.

SetFloat : /key/로 식별된 Preference의 값을 설정합니다.

SetInt : /key/로 식별된 Preference의 값을 설정합니다.

SetString : /key/로 식별된 Preference의 값을 설정합니다.