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); }); }