コード例 #1
0
ファイル: Program.cs プロジェクト: demonixis/SpaceGame-XNA
 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);
     }
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: demonixis/SpaceGame-XNA
        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
        }