Menu
CoddyTech

Интерфейс

Часть раздела Архитектура игр в Unity путешествия по Unity на Coddy. Урок 58 из 64.

challenge icon

Задание

Средне

Создай HUD, который только получает уведомления.

  1. В Hero добавь public event Action<int, int> HealthChanged; вызывай его с (health, maxHealth) в Start и при каждом изменении.
  2. В WaveSpawner добавь public event Action<int> WaveStarted; вызывай его с Wave в начале каждой волны.
  3. В 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

Потренируйтесь самостоятельно: Песочница Unity