/
puma
/
ppa
Обзор
Документация
Войти
/
puma
/
ppa
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Commands/SaveGameCommand.cs
41 строка
2 KB
Margarita
new
29 май 2026, 17:05
29 май 2026, 17:05
cc969a9
Код
Авторство
О чём код?
/// <summary> /// Команда «Сохранить игру»: сериализует текущее состояние боя в JSON-файл. /// Не поддерживает отмену — файл уже записан на диск, откат невозможен. /// </summary> public class SaveGameCommand : IGameCommand { private readonly Battle _battle; private readonly Player _player1; private readonly Player _player2; private readonly string _saveName; private readonly GameManager _gameManager; public string Name => "Сохранить игру"; public bool CanUndo => false; public SaveGameCommand(Battle battle, Player player1, Player player2, string saveName, GameManager? gameManager = null) { _battle = battle; _player1 = player1; _player2 = player2; _saveName = saveName; _gameManager = gameManager ?? new GameManager(); } /// <summary> /// Собирает данные о текущем состоянии (юниты, раунд, построение, чей ход) /// и записывает их в файл через GameManager. /// </summary> public void Execute() { var saveData = _gameManager.CreateSaveData( _player1, _player2, _battle.CurrentPlayer, _battle.CurrentRound, _battle.GetFormationName()); _gameManager.GetSaveManager().SaveGame(saveData, _saveName); System.Console.WriteLine($"[Игра сохранена: {_saveName}]"); } public void Undo() { } }