저장을 구현해봅시다.
구글 클라우드에 데이터를 저장하며 형식은 byte[] 한도는 3MB입니다.
1. 개발자 콘솔에서 밑작업하기
게임 서비스 -> 해당 게임 선택 -> 게임 세부정보
저장된 게임 항목을 사용 표시 해야합니다. 한번 사용하기로 결정하면 바꿀수 없습니다.
2. 스크립트에서 세팅하기
PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().EnableSavedGames().Build();
PlayGamesPlatform.InitializeInstance(config);
저장을 사용하기 위해선 위와 같은 코드가 필요합니다.
이전 게시글에 올린 코드에서도 포함되어 있습니다.
3. 저장/로드 구현하기
저장/로드에는 여러단계가 있으며 각 단계에서 문제가 발생시 그에 맞는 리턴값을 보내줍니다.
참고한 코드는 다음과 같습니다.
4. 데이터 변환
저같은 경우에는 저장시 class 형식인 저장 데이터를 json 형식에 맞춰서 string으로 변환 후 byte[]로 변환해서 사용합니다.
로드시에는 역으로 진행합니다.
예시로 지금 개발중인 게임의 데이터를 보여드리겠습니다.
// 돌이 장착하고 있는 아이템들에 대한 정보
// 돌을 버렸는지 안버렸는지 여부 포함
[System.Serializable]
public class MyStoneData
{
public int[] ItemID;
public bool isAlive;
}
public class Option
{
public float BGMValue;
public float SFMValue;
}
[System.Serializable]
public class AllSaveData
{
public MyStoneData save_s;
public Option save_o;
}
// 돌을 버렸는지 안버렸는지 여부 포함
[System.Serializable]
public class MyStoneData
{
public int[] ItemID;
public bool isAlive;
}
// 옵션 설정
[System.Serializable]public class Option
{
public float BGMValue;
public float SFMValue;
}
[System.Serializable]
public class AllSaveData
{
public MyStoneData save_s;
public Option save_o;
}
AllSaveData m_saveData;
JsonUtility.ToJson(m_saveData);
이런식으로 클래스를 설정 한 다음에 JsonUtility.ToJson(class) 함수를 사용해서 string 자료형으로 변환합니다.
string 자료형을 class 형식으로 변환할시에는 JsonUtility.FromJson<T>(string) 함수를 사용합니다.
'Unity' 카테고리의 다른 글
Firebase Auth 이메일 가입, 로그인 및 인증하기 소스코드 (0) | 2021.03.07 |
---|---|
유니티에서 구글플레이서비스(GPGS) 사용하기 (2) (0) | 2017.04.12 |
유니티에서 구글플레이서비스(GPGS) 사용하기 (1) (0) | 2017.04.04 |