/
expens1ve
/
project_war
Обзор
Документация
Войти
/
expens1ve
/
project_war
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
observer
Engine/Interfaces/IBattleObserver.cs
33 строки
2 KB
Vadim
add: interfaces 3 sprint
23 апр 2026, 11:03
23 апр 2026, 11:03
03ea241
Код
Авторство
О чём код?
using project_war.Models.Interfaces; namespace project_war.Engine.Interfaces { /// <summary> /// Паттерн Наблюдатель — роль "Observer". /// Реализуется любым классом, который хочет реагировать на боевые события. /// </summary> public interface IBattleObserver { /// <summary> /// Один юнит ударил другого в ближнем бою. /// </summary> /// <param name="attacker">Атакующий.</param> /// <param name="target">Цель удара.</param> /// <param name="damage">Фактический урон после вычета защиты.</param> void OnUnitAttacked(IUnit attacker, IUnit target, int damage); /// <summary> /// Юнит погиб (HP стало 0). /// </summary> /// <param name="unit">Погибший юнит.</param> void OnUnitDied(IUnit unit); /// <summary> /// Юнит использовал специальную способность — выстрел, лечение, клонирование, бафф. /// </summary> /// <param name="unit">Юнит, применивший способность.</param> /// <param name="target">Цель способности.</param> /// <param name="delta">Изменение HP цели (отрицательное = урон, положительное = лечение, 0 = без урона).</param> void OnSpecialAbilityUsed(IUnit unit, IUnit target, int delta); } }