public void LoadGameWithMeta(UM_iSavedGameMetadata game, Action <UM_SavedGameDataLoadResult> callback)
        {
            var client         = AN_Games.GetSnapshotsClient();
            var conflictPolicy = AN_SnapshotsClient.ResolutionPolicy.LAST_KNOWN_GOOD;

            client.Open(game.Name, true, conflictPolicy, result =>
            {
                UM_SavedGameDataLoadResult loadResult;
                if (result.IsSucceeded)
                {
                    var snapshot = result.Data.GetSnapshot();
                    var data     = snapshot.ReadFully();
                    client.CommitAndClose(snapshot, AN_SnapshotMetadataChange.EMPTY_CHANGE, commitResult =>
                    {
                        if (commitResult.IsSucceeded)
                        {
                            loadResult = new UM_SavedGameDataLoadResult(data, new AndroidSaveInfo(commitResult.Metadata));
                        }
                        else
                        {
                            loadResult = new UM_SavedGameDataLoadResult(commitResult.Error);
                        }

                        callback.Invoke(loadResult);
                    });
                }
                else
                {
                    loadResult = new UM_SavedGameDataLoadResult(result.Error);
                    callback.Invoke(loadResult);
                }
            });
        }
Пример #2
0
        public void LoadFromGameKitData(UM_iSavedGameMetadata game, bool parseMeta, Action <UM_SavedGameDataLoadResult> callback)
        {
            var isn_meta = (UM_IOSSavedGameMetadata)game;

            ISN_GKLocalPlayer.LoadGameData(isn_meta.NativeMeta, (result) => {
                UM_SavedGameDataLoadResult loadResult;
                if (result.IsSucceeded)
                {
                    if (parseMeta)
                    {
                        var meta = new UM_SaveInfo();
                        meta.SetProgressValue(BitConverter.ToInt64(result.BytesArrayData, 0));
                        meta.SetPlayedTimeMillis(BitConverter.ToInt64(result.BytesArrayData, 8));

                        var userData = new byte[result.BytesArrayData.Length - 16];
                        Array.Copy(result.BytesArrayData, 16, userData, 0, userData.Length);
                        loadResult = new UM_SavedGameDataLoadResult(userData, meta);
                    }
                    else
                    {
                        loadResult = new UM_SavedGameDataLoadResult(result.BytesArrayData, new UM_SaveInfo());
                    }
                }
                else
                {
                    loadResult = new UM_SavedGameDataLoadResult(result.Error);
                }

                callback.Invoke(loadResult);
            });
        }
        public void Delete(UM_iSavedGameMetadata game, Action <SA_Result> callback)
        {
            UM_AndroidSavedGameMetadata an_meta = (UM_AndroidSavedGameMetadata)game;

            var client = AN_Games.GetSnapshotsClient();

            client.Delete(an_meta.NativeMeta, (result) => {
                callback.Invoke(result);
            });
        }
Пример #4
0
 private void DeleteGameSave(UM_iSavedGameMetadata game)
 {
     m_Client.Delete(game, result =>
     {
         if (result.IsSucceeded)
         {
             FetchSavedGames();
         }
         else
         {
             UM_DialogsUtility.DisplayResultMessage(result);
         }
     });
 }
    public void DeleteGameSave(UM_iSavedGameMetadata game)
    {
        var client = UM_GameService.SavedGamesClient;

        client.Delete(game, (result) => {
            if (result.IsSucceeded)
            {
                Debug.Log("Game Deleted");
            }
            else
            {
                Debug.Log("Failed to delete: " + result.Error.FullMessage);
            }
        });
    }
Пример #6
0
        public void Delete(UM_iSavedGameMetadata game, Action <SA_Result> callback)
        {
            var editorGamesList = LoadSavesList();
            var editorGame      = editorGamesList.GetByName(game.Name);

            if (editorGame != null)
            {
                editorGamesList.Saves.Remove(editorGame);
                EditorSaveGames(editorGamesList);
            }

            SA_Coroutine.WaitForSeconds(1.5f, () => {
                callback.Invoke(new SA_Result());
            });
        }
    public void LoadGame(UM_iSavedGameMetadata game)
    {
        var client = UM_GameService.SavedGamesClient;

        client.LoadGameData(game, (result) => {
            if (result.IsSucceeded)
            {
                Debug.Log("Data size (bytes): " + result.Data.Length);
                //Restore your game progress here
            }
            else
            {
                Debug.LogError("Failed to load saved game data: " + result.Error.FullMessage);
            }
        });
    }
Пример #8
0
        public void LoadData(UM_iSavedGameMetadata game)
        {
            var client = UM_GameService.SavedGamesClient;

            client.LoadGameData(game, (result) =>
            {
                if (result.IsSucceeded)
                {
                    var text = Encoding.ASCII.GetString(result.Data);
                    UM_DialogsUtility.ShowMessage("Saved Game Data Loaded", text);
                    //Restore your game progress here
                }
                else
                {
                    UM_DialogsUtility.DisplayResultMessage(result);
                }
            });
        }
Пример #9
0
        public void LoadFromPlayerPrefs(UM_iSavedGameMetadata game, bool parseMeta, Action <UM_SavedGameDataLoadResult> callback)
        {
            var editorGamesList = LoadSavesList();
            var editorGame      = editorGamesList.GetByName(game.Name);

            UM_SavedGameDataLoadResult loadResult;

            if (editorGame != null)
            {
                var BytesArrayData = editorGame.GameData.ToBytes();
                if (parseMeta)
                {
                    var meta = new UM_SaveInfo();
                    meta.SetProgressValue(BitConverter.ToInt64(BytesArrayData, 0));
                    meta.SetPlayedTimeMillis(BitConverter.ToInt64(BytesArrayData, 8));

                    var userData = new byte[BytesArrayData.Length - 16];
                    Array.Copy(BytesArrayData, 16, userData, 0, userData.Length);
                    loadResult = new UM_SavedGameDataLoadResult(userData, meta);
                }
                else
                {
                    loadResult = new UM_SavedGameDataLoadResult(BytesArrayData, new UM_SaveInfo());
                }
            }
            else
            {
                var error = new SA_Error(100, "Saved game with name: " + game.Name + " wasn't found");
                loadResult = new UM_SavedGameDataLoadResult(error);
            }

            EditorSaveGames(editorGamesList);

            SA_Coroutine.WaitForSeconds(1.5f, () =>
            {
                callback.Invoke(loadResult);
            });
        }
Пример #10
0
 public void LoadGameWithMeta(UM_iSavedGameMetadata game, Action <UM_SavedGameDataLoadResult> callback)
 {
     LoadFromPlayerPrefs(game, true, callback);
 }
 public void AddMetadata(UM_iSavedGameMetadata meta)
 {
     m_metadataList.Add(meta);
 }
 public void LoadGameData(UM_iSavedGameMetadata game, Action <UM_SavedGameDataLoadResult> callback)
 {
     LoadGameWithMeta(game, callback);
 }
Пример #13
0
        public void Delete(UM_iSavedGameMetadata game, Action <SA_Result> callback)
        {
            var isn_meta = (UM_IOSSavedGameMetadata)game;

            ISN_GKLocalPlayer.DeleteSavedGame(isn_meta.NativeMeta, callback);
        }
Пример #14
0
 public void LoadGameData(UM_iSavedGameMetadata game, Action <UM_SavedGameDataLoadResult> callback)
 {
     LoadFromGameKitData(game, false, callback);
 }