Наносим урон всему
Часть раздела Архитектура игр в Unity путешествия по Unity на Coddy. Урок 52 из 64.
Задание
СреднеПусть меч наносит урон всему, чему можно нанести урон, с помощью интерфейса.
- В
IDamageable.csобъявиvoid TakeDamage(int amount);. EnemyреализуетIDamageable:TakeDamageвычитаетamountизhealthи уничтожает врага, когда здоровье становится равным 0 или меньше.- В
Hero.Swing()замени проверку тега иDestroyнаhit.TryGetComponent(out IDamageable target)иtarget.TakeDamage(swingDamage);.
Нажми «Играть» и ударь рядового врага: ему понадобится два удара. Затем нажми «Проверить».
Попробуйте сами
// В одном из следующих уроков этот интерфейс дополнят: он предназначен для всего, что может получать урон.
public interface IDamageable
{
}
Все уроки раздела Архитектура игр в Unity
1Компоненты, а не иерархии
Небольшие компонентыБазовый скрипт врагаАбстрактные компонентыКомпоненты работают вместеПовторение: модульная турельПовторение: спаренная пушка4Сериализованные данные
Сериализуемые классыСписки в инспектореПеречисления в инспектореПовторение: таблица добычиПовторение: определяем добычу7Машины состояний
Состояния как классыСостояние тревогиМашина состоянийПереходыЛогика враговРыцарь атакуетПовторение: состояния двери10Проект: Арена выживания
ГеройВиды врагов2Интерфейсы в Unity
IDamageableИнтерфейсы и TryGetComponentGetComponentsПовторение: клавиша взаимодействияПовторение: ближайший в пределах досягаемости5ScriptableObjects
Ресурсы данныхХарактеристики оружияОбщие настройкиСохраняем ветерВолны как данныеПовторение: база предметовПовторение: покупка в магазинеПотренируйтесь самостоятельно: Песочница Unity