/
puma
/
ppa
Обзор
Документация
Войти
/
puma
/
ppa
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Models/Units/IUnit.cs
49 строк
1 KB
Margarita
obnova
28 май 2026, 14:34
28 май 2026, 14:34
7c0ec51
Код
Авторство
О чём код?
public interface IUnit { int Id { get; } int ArmyOrder { get; } string Name { get; } int Attack { get; } int Defense { get; } int MaxHealth { get; } int CurrentHealth { get; } int Cost { get; } bool IsAlive { get; } ISpecialAbility? SpecialAbility { get; } bool IsClone { get; } /// <summary>Копия с текущим HP и баффами (боевое клонирование)</summary> IUnit Clone(); /// <summary>Свежая копия с полным HP без баффов (добавление в армию)</summary> IUnit Duplicate(); int CalculateDamage(); void TakeDamage(int incomingDamage); void Heal(int healAmount); void SetCurrentHealth(int newHealth); void SetId(int id); void SetArmyOrder(int order); void MarkAsClone(); /// <summary> /// Получить символ для визуализации армии /// </summary> char GetDisplaySymbol(); /// <summary> /// Получить короткое имя юнита для логирования /// </summary> string GetShortDisplayName(); /// <summary> /// Подписать наблюдателя на события юнита /// </summary> void Subscribe(IUnitEventObserver observer); /// <summary> /// Отписать наблюдателя от событий юнита /// </summary> void Unsubscribe(IUnitEventObserver observer); }