예제 #1
0
 private void LvlGet()
 {
     AvilableLvl.Add("");
     foreach (string name in Directory.GetFiles("Levels/", "*.lvl").Select(Path.GetFileName))
     {
         string[] lvlname = name.Split('.');
         AvilableLvl.Add(lvlname[0]);
     }
 }
예제 #2
0
        private void LvlGet()
        {
            var files = Directory.GetFiles("Levels/", "*.lvl");

            foreach (string name in files.Select(Path.GetFileName))
            {
                string[] lvlname = name.Split('.');
                AvilableLvl.Add(lvlname[0]);
            }
            if (AvilableLvl.Count == 0)
            {
                throw new ApplicationException("No levels found! Try to add some levels and load the game again.");
            }
        }
예제 #3
0
        public void Serialize(object eventArgs)
        {
            if (!Model.CheckMurphySet())
            {
                (new Exception(ExceptionType.ForgotMurphy)).ShowException();
                return;
            }
            if (!AvilableLvl.Contains(_level))
            {
                AvilableLvl.Add(_level);
            }
            var savedModel = Model.DeepCopy();

            savedModel.ManageBorders(true);
            savedModel.Serialize();
            SaveConsequence();
        }
예제 #4
0
        private void SaveConsequence()
        {
            var index = int.Parse(LevelIndex);

            if (index > AvilableLvl.Count)
            {
                index = AvilableLvl.Count;
            }
            if (index < 0)
            {
                index = 0;
            }
            if (AvilableLvl.Contains(Level))
            {
                AvilableLvl.Remove(Level);
            }
            AvilableLvl.Insert(index == 0? 0: index - 1, Level);
            File.WriteAllLines(MainMenuParameters.LvlOrderFilePath, AvilableLvl, Encoding.UTF8);
        }
예제 #5
0
 public void Deserialize(object eventArgs)
 {
     if (Level != MainMenuParameters.DefaultLevel)
     {
         bool isExist = false;
         foreach (var lvl in AvilableLvl)
         {
             if (Level == lvl)
             {
                 isExist = true;
                 break;
             }
         }
         if (!isExist)
         {
             (new Exception(ExceptionType.LevelNotFound)).ShowException();
             return;
         }
         var thisWindow = eventArgs as Window;
         if (thisWindow != null)
         {
             MainMenuParameters.LevelNumb = AvilableLvl.IndexOf(Level);
             var window = new ConstructWindow();
             window.Show();
             window.Activate();
             thisWindow.Close();
             Application.Current.MainWindow = window;
         }
     }
     Model.Deserialize();
     Model.CookiesCount();
     ScoresRequired = Model.scoresNeed.ToString();
     Model.ManageBorders(false);
     NotifyPropertyChanged("Model");
     NotifyPropertyChanged("NewCells");
     NotifyPropertyChanged("NewRows");
     _isMurphySet = Model.CheckMurphySet();
     ChangeTemplate(null);
 }
예제 #6
0
        public void NextLevelStart(object obj)
        {
            var lvlNumb = AvilableLvl.IndexOf(Level) + 1;

            Level = AvilableLvl [lvlNumb];
        }
예제 #7
0
 public void Serialize(object eventArgs)
 {
     Model.Serialize();
     AvilableLvl.Add(Level);
 }