public void FetchSavedGames(Action <UM_SavedGamesMetadataResult> callback) { UM_SavedGamesMetadataResult loadResult = new UM_SavedGamesMetadataResult(); EditorSavedGamesList editorGamesList = LoadSavesList(); foreach (EditorSavedGame game in editorGamesList.Saves) { loadResult.AddMetadata(game); } SA_Coroutine.WaitForSeconds(1.5f, () => { callback.Invoke(loadResult); }); }
public void Delete(UM_iSavedGameMetadata game, Action <SA_Result> callback) { EditorSavedGamesList 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 LoadFromPlayerPrefs(UM_iSavedGameMetadata game, bool parseMeta, Action <UM_SavedGameDataLoadResult> callback) { EditorSavedGamesList 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 { SA_Error 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); }); }
private void EditorSaveGames(EditorSavedGamesList list) { var json = JsonUtility.ToJson(list); PlayerPrefs.SetString(k_EditorSavesKey, json); }
private void EditorSaveGames(EditorSavedGamesList list) { string json = JsonUtility.ToJson(list); PlayerPrefs.SetString(PP_EDITOR_SAVES_KEY, json); }