public static void Save() { #if WINDOWS IsolatedStorageFile fileStorage = IsolatedStorageFile.GetUserStoreForDomain(); #else IsolatedStorageFile fileStorage = IsolatedStorageFile.GetUserStoreForApplication(); #endif XmlSerializer serializer = new XmlSerializer(Result.GetType()); // This prevents save-data corruption: if (fileStorage.FileExists(path)) { fileStorage.DeleteFile(path); } StreamWriter stream = new StreamWriter(new IsolatedStorageFileStream(path, FileMode.Create, fileStorage)); try { serializer.Serialize(stream, Result); } catch (Exception e) { throw e; } stream.Close(); }
public static bool Load() { ResetScores(); #if WINDOWS IsolatedStorageFile fileStorage = IsolatedStorageFile.GetUserStoreForDomain(); #else IsolatedStorageFile fileStorage = IsolatedStorageFile.GetUserStoreForApplication(); #endif HighScoreObject SaveObj = new HighScoreObject(); // Check if file is there if (fileStorage.FileExists(path)) { XmlSerializer serializer = new XmlSerializer(SaveObj.GetType()); StreamReader stream = new StreamReader(new IsolatedStorageFileStream(path, FileMode.Open, fileStorage)); try { SaveObj = (HighScoreObject)serializer.Deserialize(stream); stream.Close(); Result = SaveObj; Result.HighScores.Sort(new HighScoresComparer()); MaxHighScores = Result.MaxHighScores; return(true); } catch (Exception e) { stream.Close(); PopupMgr.CreatePopup("ERROR: " + e.Message); return(false); } } else { return(false); } }