Menu
CoddyTech

A HUD

Parte da seção Arquitetura de jogos no Unity do Journey de Unity da Coddy. Lição 46 de 50.

challenge icon

Desafio

Médio

Um HUD que apenas escuta. Mantenha tudo das lições anteriores. O canvas, chamado HUD, tem uma barra de vida (HealthFill, uma imagem Filled), HealthText e WaveText, além do script HUD, com hero, spawner, healthBar, healthText e waveText definidos no Inspector. O HUD nunca pergunta nada ao herói nem ao spawner: eles anunciam suas mudanças com eventos C#, e o HUD mostra o que ouve.

  • Hero recebe public event Action<int, int> HealthChanged, acionado com a vida e maxHealth em Start, e sempre que um golpe ou uma cura altera a vida.
  • WaveSpawner recebe public event Action<int> WaveStarted, acionado com o número da onda quando uma onda começa.
  • HUD se inscreve em ambos em OnEnable e cancela a inscrição em OnDisable. Quando ocorre HealthChanged, ele preenche a barra de acordo com a proporção de vida restante e mostra a vida como HP 3/5. Quando ocorre WaveStarted, ele mostra Wave 2. Ele não tem Update.

Acione HealthChanged em Start, não em Awake: o OnEnable de cada objeto é executado antes de qualquer Start, então, nesse momento, o HUD já está escutando. Pressione Play e observe o HUD enquanto luta; depois, Check.

Experimente você mesmo

using UnityEngine;

public class HUD : MonoBehaviour
{
    // Uma aula futura completará esta parte: vida e onda na tela.
}

Todas as lições de Arquitetura de jogos no Unity