A HUD
Parte da seção Arquitetura de jogos no Unity do Journey de Unity da Coddy. Lição 46 de 50.
Desafio
MédioUm 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.
Herorecebepublic event Action<int, int> HealthChanged, acionado com a vida emaxHealthemStart, e sempre que um golpe ou uma cura altera a vida.WaveSpawnerrecebepublic event Action<int> WaveStarted, acionado com o número da onda quando uma onda começa.HUDse inscreve em ambos emOnEnablee cancela a inscrição emOnDisable. Quando ocorreHealthChanged, ele preenche a barra de acordo com a proporção de vida restante e mostra a vida comoHP 3/5. Quando ocorreWaveStarted, ele mostraWave 2. Ele não temUpdate.
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
1Componentes, não hierarquias
Componentes pequenosUm script-base para inimigosComponentes abstratosComponentes trabalhando juntosRevisão: Torre modular4Dados Serializados
Classes SerializáveisListas no InspectorEnums no InspectorRevisão: Tabela de Loot7Máquinas de Estados
Estados como ClassesUma Máquina de EstadosTransiçõesInteligências dos InimigosRevisão: Estados da Porta10Projeto: Sobrevivente da Arena
O HeróiTipos de Inimigos5ScriptableObjects
Assets de dadosAtributos das armasConfigurações compartilhadasOndas como dadosRevisão: banco de dados de itens