저장을 구현해봅시다.
구글 클라우드에 데이터를 저장하며 형식은 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;
}
 
// 옵션 설정
[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) 함수를 사용합니다.

 

 

 

 

 

Posted by 꿀풍
,