private void StartMethod() { Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"New game started")); #region Map Size/Blocks int size; int blocks; if (Int32.TryParse(ConfigurationManager.AppSettings["Map_Blocks"], out blocks)) { Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Map_Blocks loaded from AppConfig - {blocks}")); } else { blocks = 20; Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Map_Blocks set as default - {blocks}")); } if (Int32.TryParse(ConfigurationManager.AppSettings["Map_Size"], out size)) { Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Map_Size loaded from AppConfig - {size}")); } else { size = 20; Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Map_Size set as default - {size}")); } #endregion var tmp = new GanerateServise(size, blocks); // make it look like a square tmp.ResultGrid.Width = MyModel.GridParent.ActualHeight; MyModel.Field = tmp.ResultGrid; _field = new int[size, size]; _field = tmp.Field; _gameWinScore = SetGameWinScore(tmp.Field); if (IsPacmanDie) { IsPacmanDie = !IsPacmanDie; var s = UI.FindChild <Grid>(MyModel.GridParent, "MainField"); MyModel.GridParent.Children.Remove(s); Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Old game field removed")); _score = 0; _ghostAnimation = new List <PointAnimationHelper>(); AnimationHelper = new PointAnimationHelper(); Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Reset all start params")); } MyModel.GridParent.Children.Add(tmp.ResultGrid); Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Game field Added at main View Model window")); pacman = new PacmanEssence(tmp.StartPoint, ImageCreator.CreateImage($@"Materials\Pacman\state1.png")); pacman.NextPoint = pacman.Point; Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Pacman assign to game")); Draw_pacman(tmp.ResultGrid, pacman, true); PointAnimationHelper.FlickerImage(pacman.MainImage, TimeSpan.FromSeconds(0.3)); //pacman._animationStateImage.Add(ImageCreator.CreateImage($@"Materials\Pacman\state1.png")); //pacman._animationStateImage.Add(ImageCreator.CreateImage($@"Materials\Pacman\state2.png")); //StartMouthAnimation(); AbstractGhost.ResetIndex(); InitGhosts(); CreateGhosts(_greenGhostCount, _blueGhostCount, _redGhostCount); }