Интерфейс
Часть раздела Архитектура игр в Unity путешествия по Unity на Coddy. Урок 58 из 64.
Задание
СреднеСоздай HUD, который только получает уведомления.
- В
Heroдобавьpublic event Action<int, int> HealthChanged; вызывай его с(health, maxHealth)вStartи при каждом изменении. - В
WaveSpawnerдобавьpublic event Action<int> WaveStarted; вызывай его сWaveв начале каждой волны. - В
HUDподпишись вOnEnableи отпишись вOnDisable; заполняйhealthBar, показывайHP 3/5иWave 2. БезUpdate.
Нажми «Играть» и сражайся: HUD не отстаёт. Затем нажми «Проверить».
Попробуйте сами
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class HUD : MonoBehaviour
{
[SerializeField] private Hero hero;
[SerializeField] private WaveSpawner spawner;
[SerializeField] private Image healthBar;
[SerializeField] private TMP_Text healthText;
[SerializeField] private TMP_Text waveText;
// На одном из следующих уроков здесь появятся здоровье и номер волны на экране.
}
Все уроки раздела Архитектура игр в Unity
1Компоненты, а не иерархии
Небольшие компонентыБазовый скрипт врагаАбстрактные компонентыКомпоненты работают вместеПовторение: модульная турельПовторение: спаренная пушка4Сериализованные данные
Сериализуемые классыСписки в инспектореПеречисления в инспектореПовторение: таблица добычиПовторение: определяем добычу7Машины состояний
Состояния как классыСостояние тревогиМашина состоянийПереходыЛогика враговРыцарь атакуетПовторение: состояния двери10Проект: Арена выживания
ГеройВиды врагов2Интерфейсы в Unity
IDamageableИнтерфейсы и TryGetComponentGetComponentsПовторение: клавиша взаимодействияПовторение: ближайший в пределах досягаемости5ScriptableObjects
Ресурсы данныхХарактеристики оружияОбщие настройкиСохраняем ветерВолны как данныеПовторение: база предметовПовторение: покупка в магазинеПотренируйтесь самостоятельно: Песочница Unity