Cause Dano a Tudo
Parte da seção Arquitetura de Jogos no Unity do Journey de Unity da Coddy. Lição 52 de 64.
Desafio
MédioFaça a espada causar dano a qualquer coisa que possa sofrer dano, por meio de uma interface.
- Em
IDamageable.cs, declarevoid TakeDamage(int amount);. EnemyimplementaIDamageable:TakeDamagesubtraiamountdehealthe destrói o inimigo quando a vida chega a 0 ou menos.- Em
Hero.Swing(), substitua o teste de tag eDestroyporhit.TryGetComponent(out IDamageable target)etarget.TakeDamage(swingDamage);.
Pressione “Jogar” e ataque um brutamontes: ele recebe dois golpes. Depois, clique em “Verificar”.
Experimente você mesmo
// Uma aula posterior vai completar isso: qualquer coisa que possa sofrer dano.
public interface IDamageable
{
}
Todas as lições de Arquitetura de Jogos no Unity
1Componentes, não hierarquias
Componentes pequenosUm script base de inimigoComponentes abstratosComponentes trabalhando juntosRevisão: torre modularRevisão: canhão duplo4Dados Serializados
Classes SerializáveisListas no InspectorEnums no InspectorRevisão: Tabela de LootRevisão: Sorteie o Loot7Máquinas de estados
Estados como classesO estado de alertaUma máquina de estadosTransiçõesCérebros dos inimigosO cavaleiro atacaRevisão: estados da porta10Projeto: Sobrevivente da Arena
O HeróiTipos de Inimigos2Interfaces no Unity
IDamageableInterfaces e TryGetComponentGetComponentsRevisão: tecla de interaçãoRevisão: mais próximo ao alcance5ScriptableObjects
Ativos de DadosAtributos da ArmaConfigurações CompartilhadasSalve o VentoOndas como DadosRevisão: Banco de ItensRevisão: Comprar na LojaPratique por conta própria: Playground de Unity