Example #1
0
        IEnumerator Save(GameSaveData data)
        {
            PlaySaveData = data;
            if (m_recordObject == null)
            {
                m_recordObject          = new NCMBObject(NCMB_CLASSNAME);
                m_recordObject.ObjectId = ObjectID;
            }

            m_recordObject = ConvertPlayerData2NCMB(data, m_recordObject);

            NCMBException errorResult = null;

            yield return(m_recordObject.YieldableSaveAsync(error => errorResult = error));

            if (errorResult != null)
            {
                //NCMBのコンソールから直接削除した場合に、該当のobjectIdが無いので発生する(らしい)
                m_recordObject.ObjectId = null;
                yield return(m_recordObject.YieldableSaveAsync(error => errorResult = error)); //新規として送信
            }

            //ObjectIDを保存して次に備える
            ObjectID = m_recordObject.ObjectId;
        }
Example #2
0
        IEnumerator LoadColutine()
        {
            yield return(m_ncmb.Load());

            data = (GameSaveData)m_ncmb.PlaySaveData;
            foreach (var d in data.AchivementDatas)
            {
                Debug.Log($"key={d.Key}, value={d.Value}");
            }
        }
Example #3
0
        NCMBObject ConvertPlayerData2NCMB(GameSaveData data, NCMBObject ncmbObject)
        {
            ncmbObject[NCMB_DATA_PLAYERNAME]   = data.PlayerName;
            ncmbObject[NCMB_DATA_MAXSCORE]     = data.MaxScore;
            ncmbObject[NCMB_DATA_TOTALSCORE]   = data.TotalScore;
            ncmbObject[NCMB_DATA_PLAYCOUNT]    = data.PlayCount;
            ncmbObject[NCMB_DATA_MAXSUKIMAN]   = data.MaxSukimaCount;
            ncmbObject[NCMB_DATA_TOTALSUKIMAN] = data.TotalSukimaCount;

            ncmbObject[NCMB_DATA_ACHIVEMENT] = MiniJSON.Json.Serialize(data.AchivementDatas);
            return(ncmbObject);
        }
Example #4
0
        IPlaySaveData ConvertNCMB2PlayerData(NCMBObject ncmbObject)
        {
            var result = new GameSaveData();

            result.PlayerName       = ncmbObject[NCMB_DATA_PLAYERNAME].ToString();
            result.MaxScore         = int.Parse(ncmbObject[NCMB_DATA_MAXSCORE].ToString());
            result.TotalScore       = int.Parse(ncmbObject[NCMB_DATA_TOTALSCORE].ToString());
            result.PlayCount        = int.Parse(ncmbObject[NCMB_DATA_PLAYCOUNT].ToString());
            result.MaxSukimaCount   = int.Parse(ncmbObject[NCMB_DATA_MAXSUKIMAN].ToString());
            result.TotalSukimaCount = int.Parse(ncmbObject[NCMB_DATA_TOTALSUKIMAN].ToString());
            var json = MiniJSON.Json.Deserialize(ncmbObject[NCMB_DATA_ACHIVEMENT].ToString()) as Dictionary <string, object>;

            result.AchivementDatas = json.ToDictionary(j => j.Key, j => (bool)j.Value);
            return(result);
        }
Example #5
0
 void InitAchivementData()
 {
     PlaySaveData = new GameSaveData();
     PlaySaveData.AchivementDatas = AojiluService.AchivementDataSupplier.AchivementList;
 }