/
puma
/
ppa
Обзор
Документация
Войти
/
puma
/
ppa
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Battle/IBattleDisplay.cs
111 строк
4 KB
Margarita
33
29 май 2026, 01:55
29 май 2026, 01:55
340759e
Код
Авторство
О чём код?
using System; using System.Collections.Generic; /// <summary> /// Интерфейс для отображения информации о бое /// Отделяет логику боя от UI /// </summary> public interface IBattleDisplay { /// <summary> /// Показать начало боя /// </summary> void ShowBattleStart(string firstPlayerName); /// <summary> /// Показать раунд /// </summary> void ShowRound(int roundNumber, int player1UnitsCount, int player2UnitsCount, string player1Name, string player2Name); /// <summary> /// Показать состояние армий /// </summary> void DisplayArmiesStatus(string currentPlayerName, string armyVisualization1, string allUnitsHealth1, string allUnitsAbilities1, string opponentName, string armyVisualization2, string allUnitsHealth2, string allUnitsAbilities2, List<string>? allUnitsBuffs1 = null, List<string>? allUnitsBuffs2 = null); /// <summary> /// Показать статистику боя /// </summary> void DisplayGameStatistics(string winnerName, int roundNumber, List<(string Name, int CurrentHealth, int MaxHealth)> aliveUnits); /// <summary> /// Показать статистику ничьи (10+ раундов без изменений) /// </summary> void DisplayDrawStatistics(int roundNumber); /// <summary> /// Показать результат выстрела /// </summary> void ShowArcherAttackResult(string archerName, string archerLabel, string targetName, string targetLabel, int damageDealt, int currentHealth, int maxHealth); /// <summary> /// Показать, что у лучника маленький радиус и нет целей /// </summary> void ShowArcherNoTargets(string archerName, string archerLabel, int range); /// <summary> /// Показать результат лечения /// </summary> void ShowHealerAttackResult(string targetName, string targetLabel, int healAmount, int currentHealth, int maxHealth); /// <summary> /// Показать попытку клонирования /// </summary> void ShowWizardCloneAttempt(string wizardName, string wizardLabel, string targetName, int cloneProbability); /// <summary> /// Показать успешное клонирование /// </summary> void ShowWizardCloneSuccess(string originalUnitName, string originalLabel, string cloneName); /// <summary> /// Показать неудачное клонирование /// </summary> void ShowWizardCloneFailed(string targetUnitName, string targetLabel, int cloneProbability); /// <summary> /// Показать, что у волшебника нет целей для клонирования /// </summary> void ShowWizardNoTargets(string wizardName, string wizardLabel); /// <summary> /// Показать, что нет никого для лечения /// </summary> void ShowHealerNoTargets(string healerName, string healerLabel); /// <summary> /// Показать, что юнит умер /// </summary> void ShowUnitDefeated(string unitName, string reason); /// <summary> /// Показать информацию о выходе нового юнита /// </summary> void ShowNewUnitAppears(string unitName); /// <summary> /// Показать, что оруженосец не нашел цели /// </summary> void ShowSquireNoTargets(string squireName, string squireLabel); /// <summary> /// Показать попытку оруженосца применить бафф /// </summary> void ShowSquireBuffAttempt(string squireName, string squireLabel, string targetName, string targetLabel, int probability); /// <summary> /// Показать успешное наложение баффа оруженосцем /// </summary> void ShowSquireBuffSuccess(string squireName, string squireLabel, string targetName, string targetLabel, string buffName); /// <summary> /// Показать неудачную попытку оруженосца /// </summary> void ShowSquireBuffFailed(string squireName, string squireLabel, string targetName, string targetLabel, int probability); /// <summary> /// Показать, что бафф слетел при ударе /// </summary> void ShowBuffLost(string unitName); }