Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
- Исправлен баг `GameManager.NewGame()`: в режиме бесплатной игры (`payment.freeGame = true`) больше не выполняется проверка/списание баланса. - Добавлен явный guard для free-play перед `Balance.CanStartGame()` и `Balance.SpendBalance(...)`, чтобы не было нежелательных списаний. - Устранена ошибка закрытия лог-файла `Cannot access a disposed object`: - `FileLogger` переведен на безопасный паттерн `Dispose(bool)` с идемпотентностью; - добавлена защита от повторного закрытия/записи в уже закрытый поток; - финализатор `FileLogger` больше не выполняет managed-cleanup. - Устранен риск повторной очистки в `CompositeLogger`: - добавлен флаг `_disposed`; - `Dispose(bool)` теперь выполняется только один раз; - финализатор вызывает `Dispose(false)` вместо полного `Dispose()`.