//Возвращает true, если удалось сохранить, иначе false. private bool TrySave() { if (!IsLevelCorrect()) { return(false); } LevelInfo info = new LevelInfo() { Id = CurrentLevel.Id == 0 ? DataReader.GetLevelsCount() + 1 : CurrentLevel.Id, EnergyBallNumber = EnergyCounter, Time = Timer, Teleports = this.Teleports, Chars = new char[W, H] }; for (int i = 0; i < W; i++) { for (int j = 0; j < H; j++) { info.Chars[i, j] = GameObjects[i, j].Char; } } DataWriter.AddLevel(info); return(true); }