/
romashov.z
/
PPAGame
Обзор
Документация
Войти
/
romashov.z
/
PPAGame
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Observers/DamageLogObserver.cs
31 строка
910 B
Zakhar Romashov
Добавлен функционал для Демо 3
26 апр 2026, 18:46
26 апр 2026, 18:46
5bd1cee
Код
Авторство
О чём код?
using System; using System.IO; namespace ArmyBattleGame { // Наблюдатель: подписывается на BaseUnit.Damaged и пишет урон в damage.log. // Заменяет старый DamageLoggerProxy. class DamageLogObserver { private const string LogFile = "damage.log"; public void Subscribe(BaseUnit unit) { unit.Damaged += OnDamaged; } public void Unsubscribe(BaseUnit unit) { unit.Damaged -= OnDamaged; } private void OnDamaged(IUnit unit, double damage) { string logLine = $"{DateTime.Now:HH:mm:ss} | {unit.DisplayName} (Army {unit.ArmyId}) " + $"получил {damage:F1} урона | HP: {unit.Health:F1}/{unit.MaxHealth:F1}"; File.AppendAllText(LogFile, logLine + Environment.NewLine); } } }