public override void SaveData <T>(string name, object data) { var jsonStr = JsonUtility.ToJson((T)data); if (!games.ContainsKey(name)) { games.Add(name, new Game()); } Game game = games[name]; GPSWrapper.OpenSavedGame(name, (status, gameData) => { if (status == SavedGameRequestStatus.Success) { game.gameData = gameData; game.type = typeof(T); GPSWrapper.SaveGame( game.gameData, Encoding.ASCII.GetBytes(jsonStr), game.gameData.TotalTimePlayed + (DateTime.Now - game.gameData.LastModifiedTimestamp), OnSavedGameWritten, name//описание сохранения ); } else { CallOnDataSaved(name, false); } }); }
public override void LoadData <T>(string name) { if (!games.ContainsKey(name)) { games.Add(name, new Game()); } Game game = games[name]; GPSWrapper.OpenSavedGame(name, (status, gameData) => { if (status == SavedGameRequestStatus.Success) { game.gameData = gameData; game.type = typeof(T); GPSWrapper.LoadGameData(game.gameData, OnSavedGameDataRead); } else { CallOnDataLoaded(name, null, false); } }); }