public bool TryLoadGame(string filename) { if (!File.Exists(filename)) { return(false); } using (var file = new StreamReader(filename)) try { game = Game.Game.FromGameSave(JsonConvert.DeserializeObject <GameSave>(file.ReadToEnd())); } catch (Exception e) { MessageBox.Show( @"Ошибка при загрузке. Файл поврежден.", @"Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + Path.DirectorySeparatorChar + $"Error_{DateTime.UtcNow.ToShortDateString()}_" + $"{DateTime.UtcNow.ToShortTimeString().Replace(":", "-")}_" + $"{Guid.NewGuid()}.txt"; File.WriteAllText(path, e.ToString()); return(false); } field = game.Field; ClearClickedPoint(); form.UpdateLabels(); form.UpdateButtons(); form.Invalidate(); return(true); }
public void StartNewGame() { game = new Game.Game(9); field = game.Field; game.BallMoving += form.OnBallMoving; field.FieldUpdated += () => form.Invalidate(); form.UpdateLabels(); form.UpdateButtons(); form.Invalidate(); }