in Assets/Xbox Live/GameSave/Scripts/GameSaveHelper.cs [213:287]
public IEnumerator GetContainerInfo(string prefix, Action<StorageContainerQueryResult> resultCallBack)
{
yield return null;
if (resultCallBack != null)
{
#if ENABLE_WINMD_SUPPORT
if (this.gameSaveProvider != null)
{
var query = this.gameSaveProvider.CreateContainerInfoQuery(prefix);
var resultList = new List<StorageContainerInfo>();
query.GetContainerInfoAsync().AsTask().ContinueWith(
queryTask =>
{
var gameSaveQueryResults = queryTask.Result;
foreach (var resultgameSaveContainerInfo in gameSaveQueryResults.Value)
{
var containerInfo = new StorageContainerInfo
{
Name = resultgameSaveContainerInfo.Name,
DisplayName = resultgameSaveContainerInfo.DisplayName,
LastModifiedTime = resultgameSaveContainerInfo.LastModifiedTime,
NeedsSync = resultgameSaveContainerInfo.NeedsSync,
TotalSize = resultgameSaveContainerInfo.TotalSize
};
resultList.Add(containerInfo);
}
var status = (GameSaveStatus)Enum.Parse(typeof(GameSaveStatus), gameSaveQueryResults.Status.ToString());
var queryResult = new StorageContainerQueryResult
{
Value = resultList,
Status = status
};
resultCallBack(queryResult);
});
}
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
var resultList = new List<StorageContainerInfo>();
var firstContainer = new StorageContainerInfo
{
Name = "Container01",
DisplayName = "Display Name 01",
LastModifiedTime = DateTime.Now,
NeedsSync = false,
TotalSize = 1024
};
resultList.Add(firstContainer);
var secondContainer = new StorageContainerInfo
{
Name = "Container02",
DisplayName = "Display Name 02",
LastModifiedTime = DateTime.Now,
NeedsSync = false,
TotalSize = 2048
};
resultList.Add(secondContainer);
var queryResult = new StorageContainerQueryResult
{
Status = GameSaveStatus.Ok,
Value = resultList
};
resultCallBack(queryResult);
#endif
}
}