コード例 #1
0
        private void SaveGame()
        {
            using (Utilities.FormattedFile file = new Utilities.FormattedFile())
            {
                if (!System.IO.Directory.Exists("SavedGame"))
                    System.IO.Directory.CreateDirectory("SavedGame");

                file.WriteBegin(@"SavedGame\save.egs");
                file.WriteLine(EquestriEngine.VERSION_NUMBER);
                file.WriteBlock("SavedGame");

                file.WriteBlock("PartyData");
                file.WriteLine(0);
                file.WriteEndBlock();

                file.WriteBlock("ItemData");
                file.WriteLine(0);
                file.WriteEndBlock();

                file.WriteBlock("VariableStates");
                file.WriteLine(_variables.Count);
                foreach (var kvp in _variables)
                {
                    file.WriteLine(string.Format("{0};{1}", kvp.Key, kvp.Value.Value));
                }
                file.WriteEndBlock();

                file.WriteBlock("SwitchStates");
                file.WriteLine(_switches.Count);
                foreach (Switch s in _switches.Values)
                {
                    file.WriteLine(string.Format("{0};{1}", s.Name, s.Value));
                }
                file.WriteEndBlock();

                file.WriteBlock("AchievementData");

                var unlocked = new System.Collections.Generic.List<Achievement>();

                for (int i = 0; i < achievements.Length; i++)
                {
                    if (achievements[i].Unlocked)
                        unlocked.Add(achievements[i]);
                }

                if (unlocked.Count > 0)
                    foreach (var achievement in unlocked)
                    {
                        file.WriteLine(achievement.DataName + ";" + achievement.Unlocked);
                    }

                file.WriteEndBlock();

                file.WriteEndBlock();
                file.WriteEnd();
            }
        }
コード例 #2
0
        private void SaveGame()
        {
            using (Utilities.FormattedFile file = new Utilities.FormattedFile())
            {
                if (!System.IO.Directory.Exists("SavedGame"))
                {
                    System.IO.Directory.CreateDirectory("SavedGame");
                }

                file.WriteBegin(@"SavedGame\save.egs");
                file.WriteLine(EquestriEngine.VERSION_NUMBER);
                file.WriteBlock("SavedGame");

                file.WriteBlock("PartyData");
                file.WriteLine(0);
                file.WriteEndBlock();

                file.WriteBlock("ItemData");
                file.WriteLine(0);
                file.WriteEndBlock();

                file.WriteBlock("VariableStates");
                file.WriteLine(_variables.Count);
                foreach (var kvp in _variables)
                {
                    file.WriteLine(string.Format("{0};{1}", kvp.Key, kvp.Value.Value));
                }
                file.WriteEndBlock();

                file.WriteBlock("SwitchStates");
                file.WriteLine(_switches.Count);
                foreach (Switch s in _switches.Values)
                {
                    file.WriteLine(string.Format("{0};{1}", s.Name, s.Value));
                }
                file.WriteEndBlock();

                file.WriteBlock("AchievementData");

                var unlocked = new System.Collections.Generic.List <Achievement>();

                for (int i = 0; i < achievements.Length; i++)
                {
                    if (achievements[i].Unlocked)
                    {
                        unlocked.Add(achievements[i]);
                    }
                }

                if (unlocked.Count > 0)
                {
                    foreach (var achievement in unlocked)
                    {
                        file.WriteLine(achievement.DataName + ";" + achievement.Unlocked);
                    }
                }

                file.WriteEndBlock();

                file.WriteEndBlock();
                file.WriteEnd();
            }
        }