private static void SerializeCollection <T>(string filename, SpaceCollection <T> collection, XmlWriterSettings settings) { using (XmlWriter writter = XmlWriter.Create(String.Format("{0}.xml", filename), settings)) { IntermediateSerializer.Serialize(writter, collection, null); } }
private static void SerializeAll() { #region Création des collections string[] spaceShiptTypeNames = Enum.GetNames(typeof(SpaceShipType)); string[] weaponTypeNames = Enum.GetNames(typeof(WeaponType)); string[] alienTypeNames = Enum.GetNames(typeof(EnnemyType)); string[] levelTypeNames = Enum.GetNames(typeof(LevelType)); SpaceCollection <SpaceShipDescription> spaceShipCollection = new SpaceCollection <SpaceShipDescription>(spaceShiptTypeNames.Length); SpaceCollection <WeaponDescription> weaponCollection = new SpaceCollection <WeaponDescription>(weaponTypeNames.Length); SpaceCollection <EnnemyDescription> alienCollection = new SpaceCollection <EnnemyDescription>(alienTypeNames.Length); SpaceCollection <LevelDescription> levelCollection = new SpaceCollection <LevelDescription>(levelTypeNames.Length); SpaceCollection <MessageDescription> messageCollection = new SpaceCollection <MessageDescription>(); #endregion #region Paramètres XML XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; #endregion #region Sérialisation des joueurs for (int i = 0; i < spaceShiptTypeNames.Length; i++) { spaceShipCollection.Add(i, InitSpaceShipDescription((SpaceShipType)i, i)); } SerializeCollection <SpaceShipDescription>("players", spaceShipCollection, settings); #endregion #region Sérialisation des armes for (int i = 0; i < weaponTypeNames.Length; i++) { weaponCollection.Add(i, InitWeaponDescription((WeaponType)i, "green", i)); } SerializeCollection <WeaponDescription>("weapons", weaponCollection, settings); #endregion #region Sérialisation des ennemies for (int i = 0; i < alienTypeNames.Length; i++) { alienCollection.Add(i, InitEnnemyDescription((EnnemyType)i, i)); } SerializeCollection <EnnemyDescription>("enemies", alienCollection, settings); #endregion #region Sérialisation des niveaux for (int i = 0; i < levelTypeNames.Length; i++) { levelCollection.Add(i, InitLevelDescription((LevelType)i, i)); } SerializeCollection <LevelDescription>("levels", levelCollection, settings); #endregion #region Sérialisation des messages messageCollection.Add(0, new MessageDescription() { Label = "mission_1_title", Language = "EN", Message = "Mission 1" }); messageCollection.Add(0, new MessageDescription() { Label = "mission_1_title", Language = "FR", Message = "Mission 1" }); messageCollection.Add(0, new MessageDescription() { Label = "mission_1_text", Language = "EN", Message = "Destroy all the enemmies" }); messageCollection.Add(0, new MessageDescription() { Label = "mission_1_text", Language = "FR", Message = "Détruisez tous les ennemies !" }); SerializeCollection <MessageDescription>("messages", messageCollection, settings); #endregion }