Escudos y recompensas
Parte de la sección Arquitectura de juegos en Unity del Journey de Unity de Coddy. Lección 57 de 64.
Desafío
IntermedioAñade el escudo y haz que cada oleada deje una recompensa.
ShieldimplementaIPickup:Collectllama ahero.Protect(duration)y destruye el escudo.- En
Hero,public void Protect(float seconds)establecesafeUntil = Time.time + seconds;. - Añade a
Waveunpublic GameObject reward. Cuando se complete una oleada, antes del descanso, el generador deja la recompensa en su propia posición, si está asignada.
Pulsa «Jugar» y completa la oleada 1: aparece un corazón en el centro. Después, pulsa «Comprobar».
Pruébalo tú mismo
public interface IPickup
{
void Collect(Hero hero);
}
Todas las lecciones de Arquitectura de juegos en Unity
1Componentes, no jerarquías
Componentes pequeñosUn script base para enemigosComponentes abstractosComponentes que trabajan juntosRepaso: torreta modularRepaso: cañón doble4Datos serializados
Clases serializablesListas en el InspectorEnumeraciones en el InspectorRepaso: tabla de botínRepaso: sortear el botín7Máquinas de estados
Estados como clasesEl estado de alertaUna máquina de estadosTransicionesCerebros enemigosEl caballero atacaRepaso: estados de puertas10Proyecto: Superviviente de la arena
El héroeTipos de enemigos2Interfaces en Unity
IDamageableInterfaces y TryGetComponentGetComponentsRepaso: Tecla de interacciónRepaso: El más cercano al alcance5ScriptableObjects
Activos de datosEstadísticas de armasConfiguración compartidaGuardar el vientoOleadas como datosRepaso: base de datos de objetosRepaso: comprar en la tienda3Eventos
Eventos de C# en UnitySuscribirse en OnEnableCampos UnityEventLos eventos controlan la interfazRepaso: ventana emergente de logrosRepaso: temporizador de la ventana emergentePractica por tu cuenta: Playground de Unity