示例#1
0
    public void MergeCloudAndLocal(GServiceData serviceData)
    {
        if (serviceData == null)
        {
            Debug.LogError("GServiceData is null");
        }

        //Впервые запускаем игру?
        if (GlobalVars.instance.GetIsFirstTime())
        {
            GlobalVars.instance.RemoveIsFirstTime();
            //Если заходим впервые, то можем без проблем загрузить облачное сохранение в локальное пространство. Дальше этого делать не нужно
            if (serviceData.points > GlobalVars.instance.GetPoints())
            {
                GlobalVars.instance.SetUpServiceData(serviceData);
                Debug.Log("Successfully merged with cloud data!");
            }
        }
        else
        {
            if (GlobalVars.instance.GetPoints() >= serviceData.points)
            {
                serviceData.SetUpLocalData();
                Debug.Log("Successfully merged with local data!");
            }
        }
    }
 public void SetUpServiceData(GServiceData serviceData)
 {
     SetPoints(serviceData.points);
     SetHighScore(serviceData.highScore);
     SetMoney(serviceData.money);
     CopyListPlayers(serviceData.openedPlayerModels);
     CopyListBackgrounds(serviceData.openedBackgrounds);
 }
示例#3
0
 public void OnSavedGameDataRead(SavedGameRequestStatus status, byte[] data)
 {
     if (status == SavedGameRequestStatus.Success)
     {
         if (gServiceData == null)
         {
             gServiceData = new GServiceData();
         }
         gServiceData.SetUpByByteArray(data);
         MergeCloudAndLocal(gServiceData);
         Debug.Log("Success: saved game is loaded!");
     }
     else
     {
         Debug.LogError("Failed to read game data");
     }
 }
示例#4
0
    public void SetUpByByteArray(byte[] arr)
    {
        if (arr.Length <= 0)
        {
            return;
        }

        MemoryStream    memStream = new MemoryStream();
        BinaryFormatter binForm   = new BinaryFormatter();

        memStream.Write(arr, 0, arr.Length);
        memStream.Seek(0, SeekOrigin.Begin);
        GServiceData obj = (GServiceData)binForm.Deserialize(memStream);

        points             = obj.points;
        highScore          = obj.highScore;
        money              = obj.money;
        openedPlayerModels = obj.openedPlayerModels;
        openedBackgrounds  = obj.openedBackgrounds;
    }