in Assets/Xbox Live/GameSave/Scripts/GameSaveHelper.cs [57:96]
public IEnumerator SubmitUpdates(
string containerName,
Dictionary<string, byte[]> dataToSaveForBlobs,
string[] blobsToDelete,
Action<GameSaveStatus> resultCallBack,
string displayName = "")
{
yield return null;
if (resultCallBack != null)
{
#if ENABLE_WINMD_SUPPORT
if (this.gameSaveProvider != null)
{
var container = this.gameSaveProvider.CreateContainer(containerName);
var displayNameToUse = (!string.IsNullOrEmpty(displayName)) ? displayName : containerName;
var saveBuffers = this.GenerateIBuffers(dataToSaveForBlobs);
container.SubmitUpdatesAsync(saveBuffers, blobsToDelete, displayNameToUse)
.AsTask()
.ContinueWith(
saveTask =>
{
var gameSaveStatus =
(GameSaveStatus)
Enum.Parse(typeof(GameSaveStatus), saveTask.Result.Status.ToString());
resultCallBack(gameSaveStatus);
});
}
else
{
var errorMessage = "An Exception Occured: Game Save Provider hasn't been initialized yet. Initialize needs to be called first.";
ExceptionManager.Instance.ThrowException(
ExceptionSource.GameSaveManager,
ExceptionType.GameSaveProviderNotInitialized,
new Exception(errorMessage));
}
#else
resultCallBack(GameSaveStatus.Ok);
#endif
}
}