Esempio n. 1
0
        public static List <object> GetAllPossibleLevelsFull()
        {
            List <object> ret    = new List <object>();
            List <uint>   levels = GetAllPossibleLevels();

            foreach (uint u in levels)
            {
                ret.Add(new LevelInfo(XmlLevelParser.GetLevelFileName((uint)u), false));
            }
            return(ret);
        }
Esempio n. 2
0
        private static List <uint> GetAllPossibleLevels()
        {
            List <uint> completedLevels = new List <uint>();

            uint i = 0;

            while (File.Exists(XmlLevelParser.GetLevelFileName(++i)))
            {
                completedLevels.Add((uint)i);
            }
            return(completedLevels);
        }
Esempio n. 3
0
        private void save(object sender, EventArgs e)
        {
            saveFileDialog.Filter     = "WOF2 level file (*" + XmlLevelParser.C_LEVEL_POSTFIX + ")|*" + XmlLevelParser.C_LEVEL_POSTFIX;
            saveFileDialog.DefaultExt = XmlLevelParser.C_LEVEL_POSTFIX.Substring(1);
            DialogResult result = saveFileDialog.ShowDialog();

            if (result == DialogResult.OK)
            {
                try
                {
                    XmlLevelParser.SaveLevel(editorRenderPanel.CurrentLevel, saveFileDialog.FileName);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error while saving level");
                }
            }
        }
Esempio n. 4
0
        public void OnLevelLoaded(XmlLevelParser parser)
        {
            this.timeToFirstEnemy.Text     = parser.TimeToFirstEnemyPlane.ToString();
            this.timeToNextEnemy.Text      = parser.TimeToNextEnemyPlane.ToString();
            this.dayTime.SelectedIndex     = dayTime.FindString(parser.DayTime.ToString());
            this.missionType.SelectedIndex = missionType.FindString(parser.MissionType.ToString());
            this.enemyPlanes.Text          = parser.EnemyFighters.ToString();

            List <LevelTile> tiles = parser.Tiles;

            levelTiles.Items.Clear();
            List <OceanTile> oceanTiles = new List <OceanTile>();

            foreach (LevelTile tile in tiles)
            {
                if (tile is OceanTile)
                {
                    oceanTiles.Add(tile as OceanTile);
                }
                else
                {
                    if (oceanTiles.Count > 0)
                    {
                        levelTiles.Items.Add("Ocean - width = " + oceanTiles.Count);
                        oceanTiles.Clear();
                    }
                    else
                    {
                        levelTiles.Items.Add(tile.GetXMLName);
                    }
                }
            }

            // na koniec
            if (oceanTiles.Count > 0)
            {
                levelTiles.Items.Add("Ocean - width = " + oceanTiles.Count);
                oceanTiles.Clear();
            }
        }
Esempio n. 5
0
        public static CompletedLevelsInfo GetCompletedLevels()
        {
            CompletedLevelsInfo completedLevels = new CompletedLevelsInfo();

            completedLevels.CompletedLevels = new SerializableDictionary <LevelInfo, List <Achievement> >();

            List <Achievement> emptyAchievements = new List <Achievement>();

            if (!File.Exists(EngineConfig.C_COMPLETED_LEVELS_FILE))
            {
                completedLevels = CompletedLevelsInfo.GetDefaultCompletedLevelsInfo();
                return(completedLevels);
            }
            else
            {
                try
                {
                    string levelsRaw    = File.ReadAllText(EngineConfig.C_COMPLETED_LEVELS_FILE);
                    string levelsString = RijndaelSimple.Decrypt(levelsRaw);

                    using (Stream stream = GenerateStreamFromString(levelsString))
                    {
                        XmlSerializer serializer = new XmlSerializer(typeof(CompletedLevelsInfo));
                        ;
                        var levels = ( CompletedLevelsInfo)serializer.Deserialize(stream);
                        return(levels as CompletedLevelsInfo);
                    }
                }
                catch (Exception ex)
                {
                    completedLevels.CompletedLevels.Clear();
                    completedLevels.CompletedLevels.Add(new LevelInfo(XmlLevelParser.GetLevelFileName(1), false), emptyAchievements);
                    Console.WriteLine(ex);
                }


                return(completedLevels);
            }
        }
Esempio n. 6
0
 public void OnLevelLoaded(XmlLevelParser parser)
 {
     this.Text = EngineConfig.C_GAME_NAME + " level editor ( " + parser.MissionType + " ): " + parser.LevelFile;
     this.menu.OnLevelLoaded(parser);
 }
Esempio n. 7
0
 public LevelInfo(uint levelNo)
 {
     this.filename = XmlLevelParser.GetLevelFileName(levelNo);
     this.isCustom = false;
 }