Melhorias
Parte da seção Arquitetura de jogos no Unity do Journey de Unity da Coddy. Lição 45 de 50.
Desafio
MédioPower-ups. Mantenha tudo das lições anteriores. Um coração e um escudo estão na arena, e os prefabs Heart e Shield estão prontos para serem deixados pelas ondas. Tudo que o herói pode coletar implementa uma interface, então o herói nunca precisa conhecer os tipos.
IPickupdeclara um método,void Collect(Hero hero);.Heartimplementa esse método, comamount(2) definido no Inspector: cura o herói emamounte se destrói.Shieldimplementa esse método, comduration(5) definido no Inspector: mantém o herói protegido de todos os golpes pordurationsegundos e se destrói.Herorecebepublic void Heal(int amount), que aumenta a vida, mas nunca acima demaxHealth, e registra a vida como ocorre ao receber um golpe; um herói caído não é curado. Ele recebepublic void Protect(float seconds), que o mantém protegido dos golpes atésecondsa partir de agora, assim comosafeTimefaz ao receber um golpe. Ele também recebeOnTriggerEnter: quando algo com que ele colidiu tiver umIPickup, ele chamaCollect(this)nesse objeto. Um CharacterController recebe mensagens de gatilho sem um Rigidbody.- Cada
Waverecebe umpublic GameObject reward. O Inspector não pode exibir um campo de tipo interface, então o campo armazena o prefab como um GameObject. Quando uma onda é derrotada, antes do intervalo, o spawner deixa a recompensa da onda, se houver, na própria posição, no meio da arena. O asset atribui um Heart à onda 1 e um Shield à onda 2.
Pressione Play, vença uma onda e pegue sua recompensa, depois Check.
Experimente você mesmo
// Uma lição posterior vai preencher isto: qualquer coisa que o herói possa pegar.
public interface IPickup
{
}
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