Easy save
- 데이터를 쉽고 빠르게 저장 가능
- 모바일 기기에서도 빠른 속도
- JSON 및 XML과 비교하여 훨씬 빠르고 훨씬 적은 메모리 사용
- 효율적이고 안전한 데이터 암호화
- 빠른 개발과 오래된 지속적인 업데이트 및 안정성 보장
* Auto Save를 사용하면 씬 이동 시, 데이터 Load가 안되서 Auto Save는 사용하지 않는 것을 권장! (Auto Save는 Setting하기 어려움)
사용자 설정 저장
[System.Serializable]
public class GameData
{
public string UserName = "";
public int Stage = 1;
public int Coin = 0;
}
public class DataManager : MonoBehaviour
{
public GameData GameData; // class 변수 선언
public void Init()
{
DataLoad();
}
public void Release()
{
}
[ContextMenu("Save Data")] // 컴포넌트 메뉴에 아래 함수를 호출하는 Save Data 라는 명령어가 생성됨
public void DataSave()
{
ES3.Save("GameData", GameData); // Key값 설정, 선언한 class 변수명
}
[ContextMenu("Load Data")]
public void DataLoad()
{
if(ES3.FileExists("SaveFile.txt"))
{
ES3.LoadInto("GameData", GameData); // 저장된 Key 값, 불러올 class 변수명
}
else
{
DataSave();
}
}
}
생성한 DataManager에 DataSave, DataLoad 함수 추가
설정
위와 같이 설정
- Location : 저장 방식
- Directory : 저장 경로
- Default File Path : 저장 파일 이름
- Encryption : 암호화
- Encryption Password : 비밀번호 설정
- Compression : 파일 압축
- Advanced Settings : Json 저장 설정 (그대로 둘 것)
- Open Persistent Data Path : 저장 파일 폴더 확인
- Clear Persistent Data Path : 저장 파일 삭제
Auto Save
Auto Save - Enable Auto Save for this scene 클릭
사용자 설정 저장과 동일하게 저장하기 위해 동일하게 설정 한다.
DataManager Script를 체크 (Auto Save 될 항목을 체크) 후, 옆 톱니바퀴 클릭
Fields에서 선택한 Script 중, Auto Save 할 변수를 클릭
Auto Save로 돌아가서 Save Event, Load Event 설정
- Save Event : Auto Save 될 시점
- Load Event : Auto Load 될 시점
스크립트 수정
[System.Serializable]
public class GameData
{
public string UserName = "";
public int Stage = 1;
public int Coin = 0;
}
public class DataManager : MonoBehaviour
{
public GameData GameData;
public void Init()
{
DataLoad();
}
public void Release()
{
}
[ContextMenu("Save Data")]
public void DataSave()
{
ES3AutoSaveMgr.Current.Save();
}
[ContextMenu("Load Data")]
public void DataLoad()
{
if(ES3.FileExists("SaveFile.txt"))
{
ES3AutoSaveMgr.Current.Load();
}
else
{
DataSave();
}
}
}
Auto Save 외, 수동으로도 저장, 불러오기 할수 있도록 코드 수정
데이터 삭제
public void DataDelete()
{
// 데이터 삭제
ES3.DeleteFile("SaveFile.txt"); // 저장 파일 이름
}
'유니티' 카테고리의 다른 글
오프닝 카메라 연출 효과 구현 (Dolly Track) (0) | 2024.06.03 |
---|---|
UI에 3D 캐릭터 보이게하기 (Rendertexture) (0) | 2024.05.15 |
조이스틱 구현 (0) | 2024.05.03 |
구글 플레이 업로드 (0) | 2024.04.19 |
앱 이름 한글 설정 (0) | 2024.04.19 |