コード例 #1
0
 public abstract void DownloadFromCloud(ISharedDataSerializer.OnSyncCloudSlotStart onStartDelegate, ISharedDataSerializer.OnSyncCloudSlotFinish onFinishDelegate);
コード例 #2
0
 public abstract void LoadCloudSyncPreview(ISharedDataSerializer.OnSyncCloudSlotStart onStartDelegate, ISharedDataSerializer.OnSyncCloudSlotFinish onFinishDelegate);
コード例 #3
0
 public override void UploadToCloud(ISharedDataSerializer.OnSyncCloudSlotStart onStartDelegate, ISharedDataSerializer.OnSyncCloudSlotFinish onFinishDelegate)
 {
     ISharedDataSerializer.LastErrno = DataSerializerErrorCode.Success;
     this.ClearUploadToCloudCache();
     if (onStartDelegate != null)
     {
         onStartDelegate(ISharedDataSerializer.LastErrno);
     }
     this.uploadToCloudFinishDelegate = onFinishDelegate;
     this.Storage.GetLatestSlotAndSave(delegate(Int32 latestSlot, Int32 latestSave)
     {
         this.latestSlotID = latestSlot;
         this.latestSaveID = latestSave;
         this.Storage.LoadRawData(delegate(Byte[] rawData)
         {
             if (rawData != null)
             {
                 this.uploadToCloudRawData = rawData;
                 this.LoadSlotPreview(this.latestSlotID, delegate(DataSerializerErrorCode errNo, Int32 slotID, List <SharedDataPreviewSlot> data)
                 {
                     if (data != null)
                     {
                         this.uploadToCloudLocalDataPreviewSlot = data[this.latestSaveID];
                         UInt64 playDuration = this.uploadToCloudLocalDataPreviewSlot.PlayDuration;
                         Int32 num           = (Int32)playDuration % 60;
                         Int32 num2          = num / 60;
                         Int32 num3          = num2 / 60;
                         num2             %= 60;
                         Int32 days        = num3 / 24;
                         num3             %= 24;
                         TimeSpan playTime = new TimeSpan(days, num3, num2, num);
                         base.StartCoroutine(SiliconStudio.Social.Cloud_Save(this, this.uploadToCloudRawData, playTime, delegate(Boolean isSuccess, SiliconStudio.Social.ResponseData.Status status)
                         {
                             if (isSuccess)
                             {
                                 this.uploadToCloudRemoteDataPreviewSlot = this.uploadToCloudLocalDataPreviewSlot;
                             }
                             else
                             {
                                 ISharedDataSerializer.LastErrno = ISharedDataSerializer.ConvertCloudStatusToDataSerializerErrorCode(status);
                             }
                             this.uploadToCloudFinishDelegate(ISharedDataSerializer.LastErrno, isSuccess, this.uploadToCloudLocalDataPreviewSlot, this.uploadToCloudRemoteDataPreviewSlot);
                             this.ClearUploadToCloudCache();
                         }));
                     }
                     else
                     {
                         this.uploadToCloudFinishDelegate(ISharedDataSerializer.LastErrno, false, (SharedDataPreviewSlot)null, (SharedDataPreviewSlot)null);
                         this.ClearUploadToCloudCache();
                     }
                 });
             }
             else
             {
                 this.uploadToCloudFinishDelegate(ISharedDataSerializer.LastErrno, false, (SharedDataPreviewSlot)null, (SharedDataPreviewSlot)null);
                 this.ClearUploadToCloudCache();
             }
         });
     });
 }
コード例 #4
0
 public override void DownloadFromCloud(ISharedDataSerializer.OnSyncCloudSlotStart onStartDelegate, ISharedDataSerializer.OnSyncCloudSlotFinish onFinishDelegate)
 {
     ISharedDataSerializer.LastErrno = DataSerializerErrorCode.Success;
     if (onStartDelegate != null)
     {
         onStartDelegate(ISharedDataSerializer.LastErrno);
     }
     this.ClearDownloadFromCloudCache();
     if (onStartDelegate != null)
     {
         onStartDelegate(ISharedDataSerializer.LastErrno);
     }
     this.downloadFromCloudFinishDelegate = onFinishDelegate;
     this.Storage.GetLatestSlotAndSave(delegate(Int32 latestSlot, Int32 latestSave)
     {
         this.latestSlotID = latestSlot;
         this.latestSaveID = latestSave;
         if (this.latestSlotID != -1 && this.latestSaveID != -1)
         {
             this.LoadSlotPreview(this.latestSlotID, delegate(DataSerializerErrorCode errNo, Int32 slotID, List <SharedDataPreviewSlot> data)
             {
                 if (data != null)
                 {
                     this.downloadFromCloudLocalDataPreviewSlot = data[this.latestSaveID];
                     base.StartCoroutine(SiliconStudio.Social.Cloud_Load(this, new Action <Byte[], SiliconStudio.Social.ResponseData.Status>(this.DownloadFromCloudOnCloudLoadCallBack)));
                 }
                 else
                 {
                     this.downloadFromCloudFinishDelegate(ISharedDataSerializer.LastErrno, false, (SharedDataPreviewSlot)null, (SharedDataPreviewSlot)null);
                     this.ClearCloudSyncPreviewCache();
                 }
             });
         }
         else
         {
             base.StartCoroutine(SiliconStudio.Social.Cloud_Load(this, new Action <Byte[], SiliconStudio.Social.ResponseData.Status>(this.DownloadFromCloudOnCloudLoadCallBack)));
         }
     });
 }
コード例 #5
0
 public override void LoadCloudSyncPreview(ISharedDataSerializer.OnSyncCloudSlotStart onStartDelegate, ISharedDataSerializer.OnSyncCloudSlotFinish onFinishDelegate)
 {
     ISharedDataSerializer.LastErrno = DataSerializerErrorCode.Success;
     this.ClearCloudSyncPreviewCache();
     this.onSyncCloudSlotFinishDelegate = onFinishDelegate;
     this.Storage.GetDataSize(delegate(Boolean isSuccess, Int32 dataSize)
     {
         if (isSuccess)
         {
             this.Storage.GetLatestSlotAndSave(delegate(Int32 latestSlot, Int32 latestSave)
             {
                 this.latestSlotID = latestSlot;
                 this.latestSaveID = latestSave;
                 if (onStartDelegate != null)
                 {
                     onStartDelegate(ISharedDataSerializer.LastErrno);
                 }
                 if (this.latestSlotID != -1)
                 {
                     this.LoadSlotPreview(this.latestSlotID, delegate(DataSerializerErrorCode errNo, Int32 slotID, List <SharedDataPreviewSlot> data)
                     {
                         if (data != null)
                         {
                             this.loadCloudSyncPreviewLocalPreview = data[this.latestSaveID];
                             this.StartCoroutine(SiliconStudio.Social.Cloud_IsFileExist(this, new Action <Boolean, SiliconStudio.Social.ResponseData.Status>(this.LoadCloudSyncPreviewOnFileExistCallBack)));
                         }
                         else
                         {
                             ISharedDataLog.LogError("latestSlotID is: " + this.latestSlotID + " but preview data NOT found!");
                             ISharedDataSerializer.LastErrno = DataSerializerErrorCode.DataCorruption;
                             this.onSyncCloudSlotFinishDelegate(ISharedDataSerializer.LastErrno, false, (SharedDataPreviewSlot)null, (SharedDataPreviewSlot)null);
                             this.ClearCloudSyncPreviewCache();
                         }
                     });
                 }
                 else
                 {
                     this.StartCoroutine(SiliconStudio.Social.Cloud_IsFileExist(this, new Action <Boolean, SiliconStudio.Social.ResponseData.Status>(this.LoadCloudSyncPreviewOnFileExistCallBack)));
                 }
             });
         }
         else
         {
             ISharedDataSerializer.LastErrno = DataSerializerErrorCode.DataCorruption;
             ISharedDataLog.LogError("Save data is invalid!");
             this.StartCoroutine(SiliconStudio.Social.Cloud_IsFileExist(this, new Action <Boolean, SiliconStudio.Social.ResponseData.Status>(this.LoadCloudSyncPreviewOnFileExistCallBack)));
         }
     });
 }