public void CheckAndLoad() { IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication(); IsolatedStorageFileStream stream = null; loadOk = false; try { if (storage.FileExists("score.txt")) { XmlSerializer serializer = new XmlSerializer(store.GetType()); stream = storage.OpenFile("score.txt", System.IO.FileMode.OpenOrCreate); store = serializer.Deserialize(stream) as ScoreStore; loadOk = true; storage.Dispose(); } } catch (Exception e) { loadOk = false; } finally { if (stream != null) { stream.Close(); stream.Dispose(); } } if (!loadOk) { try { storage.CreateFile("score.txt"); var scores = new List<Score>(); for (int i = 0; i < MaxScores; i++) { scores.Add(new Score { PlayerName = "noname", PlayerScore = 0, }); } store.Scores = scores; loadOk = true; } catch (Exception e) { loadOk = false; } storage.Dispose(); SaveScores(); } }
public ScoreManager() { store = new ScoreStore(); MaxScores = 5; }