コード例 #1
0
ファイル: ScoreManager.cs プロジェクト: cgcoder/balloonbuster
        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();
            }
        }
コード例 #2
0
ファイル: ScoreManager.cs プロジェクト: cgcoder/balloonbuster
 public ScoreManager()
 {
     store = new ScoreStore();
     MaxScores = 5;
 }