137 lines
3.3 KiB
C#

using System.Collections;
using System.Collections.Generic;
using CI.QuickSave;
using UnityEngine;
//저장해야할 정보
//던전 : 강화 수치, 현재 스테이지
//일상 : 시간, 체력, 사회평판, 돌발 이벤트 호출 여부(), 일상 이벤트 호출 여부(회사,식사)
//던전 정보
[System.Serializable]
public class DungeonSave
{
//강화 수치
public int attackLevel;
public int attackSpeedLevel;
public int heartLevel;
public int moveSpeedLevel;
public int evasionTimeLevel;
//스테이지 진행도
public int stageLevel;
}
[System.Serializable]
public class HomeSave
{
public float time;
public float health;
public float reputation;
public bool isEvent; //Todo 이벤트 여부 및 관련 조건들 추가
}
[System.Serializable]
public class Save
{
public HomeSave homeSave;
public DungeonSave dungeonSave;
}
public class SaveTest : MonoBehaviour
{
private Save mainSave;
private Save backupSave;
void Start()
{
mainSave = new Save();
backupSave = new Save();
if (!QuickSaveRaw.Exists("Save_Main")) // Save_Main.qs파일이 없을때
{
UpdateSaveInfo();
SaveMain(); //Save_Main.qs 파일 생성
backupSave = LoadMain();
SaveBackup(); //Save_Backup.qs 파일 생성
}
Load(); //저장된 메인,백업 세이브를 로드
}
public void Save()
{
backupSave = LoadMain(); //메인 세이브를 백업 세이브에 로드
SaveBackup(); //백업 세이브 저장
UpdateSaveInfo(); //세이브를 현재 정보로 업데이트
SaveMain(); //메인 세이브 저장
Debug.Log("세이브");
}
public void Load()
{
mainSave = LoadMain();
backupSave = LoadBackup();
Debug.Log("메인 로드" + mainSave);
Debug.Log("백업 로드" + backupSave);
}
private void UpdateSaveInfo()
{
//Todo: 데이터 받기
//임시 데이터 생성
mainSave = new Save
{
dungeonSave = new DungeonSave
{
attackLevel = 2,
attackSpeedLevel = 1,
heartLevel = 3,
moveSpeedLevel = 1,
evasionTimeLevel = 2,
stageLevel = 5
},
homeSave = new HomeSave
{
time = 3.5f,
health = 80f,
reputation = 42f,
isEvent = false
}
};
}
private void SaveMain()
{
QuickSaveWriter.Create("Save_Main")
.Write("Main", mainSave)
.Commit();
}
private void SaveBackup()
{
QuickSaveWriter.Create("Save_Backup")
.Write("Backup", backupSave)
.Commit();
}
private Save LoadMain()
{
return QuickSaveReader.Create("Save_Main")
.Read<Save>("Main");
}
private Save LoadBackup()
{
return QuickSaveReader.Create("Save_Backup")
.Read<Save>("Backup");
}
}