public virtual void Write(CharacterList characterList, string fileLocation)
 {
     StreamWriter writer = new StreamWriter(fileLocation);
     Write(characterList, writer);
     writer.Flush();
     writer.Close();
 }
        public override void Write(CharacterList characterList, StreamWriter writer)
        {
            string headLine = "Character;SaveGameId;SaveGameLabel;Level;Location;SavingTime;";
            writer.Write(headLine);
            WriteCategoryToHeadline(StatisticCategory.General, writer);
            WriteCategoryToHeadline(StatisticCategory.Quest, writer);
            WriteCategoryToHeadline(StatisticCategory.Combat, writer);
            WriteCategoryToHeadline(StatisticCategory.Magic, writer);
            WriteCategoryToHeadline(StatisticCategory.Crafting, writer);
            WriteCategoryToHeadline(StatisticCategory.Crime, writer);
            writer.WriteLine();

            foreach (var skyrimCharacter in characterList.Character)
            {
                Write(skyrimCharacter, writer);
            }
        }
        public override void Write(CharacterList characterList, StreamWriter writer)
        {
            XmlSerializer xs = new XmlSerializer(typeof(CharacterList));
            XmlUtils.SetSpecifiedFlags(characterList, true);

            foreach (var skyrimCharacter in characterList.Character)
            {
                XmlUtils.SetSpecifiedFlags(skyrimCharacter, true);
                foreach (var snap in skyrimCharacter.Snapshot)
                {
                    XmlUtils.SetSpecifiedFlags(snap, true);
                    if (snap.StatisticValue != null)
                    {
                        foreach (var statItem in snap.StatisticValue)
                        {
                            XmlUtils.SetSpecifiedFlags(statItem, true);
                        }
                    }
                }
            }

            xs.Serialize(writer, characterList);
        }
 public abstract void Write(CharacterList characterList, StreamWriter writer);