Potenziamenti
Fa parte della sezione Architettura dei giochi in Unity del percorso Unity di Coddy. Lezione 45 di 50.
Sfida
MedioPotenziamenti. Mantieni tutto dalle lezioni precedenti. Un cuore e uno scudo si trovano nell’arena e i prefab Heart e Shield sono pronti per essere rilasciati dalle ondate. Tutto ciò che l’eroe può raccogliere implementa una sola interfaccia, quindi l’eroe non deve mai conoscere i tipi.
IPickupdichiara un metodo,void Collect(Hero hero);.Heartla implementa, usandoamount(2) impostato nell’Inspector: cura l’eroe diamounte si distrugge.Shieldla implementa, usandoduration(5) impostato nell’Inspector: protegge l’eroe da ogni colpo perdurationsecondi e si distrugge.Heroottienepublic void Heal(int amount), che aumenta la salute senza mai superaremaxHealthe registra la salute come quando subisce un colpo; un eroe caduto non viene curato. Ottienepublic void Protect(float seconds), che lo protegge dai colpi fino asecondssecondi da adesso, come fa ilsafeTimequando subisce un colpo. Ottiene ancheOnTriggerEnter: quando ciò che tocca ha unIPickup, chiamaCollect(this)su di esso. Un CharacterController riceve i messaggi di trigger anche senza un Rigidbody.- Ogni
Waveottiene unpublic GameObject reward. L’Inspector non può mostrare un campo di un tipo interfaccia, quindi il campo contiene il prefab come GameObject. Quando un’ondata viene sconfitta, prima della pausa, lo spawner rilascia la ricompensa dell’ondata, se presente, nella propria posizione al centro dell’arena. L’asset assegna un Heart all’ondata 1 e uno Shield all’ondata 2.
Premi Play, completa un’ondata e raccogli la sua ricompensa, poi premi Check.
Provalo tu
// Una lezione successiva definirà questo: qualsiasi cosa che l'eroe possa raccogliere.
public interface IPickup
{
}
Tutte le lezioni di Architettura dei giochi in Unity
1Componenti, non gerarchie
Componenti piccoliUno script base per i nemiciComponenti astrattiComponenti che collaboranoRiepilogo: torretta modulare4Dati serializzati
Classi serializzabiliListe nell'InspectorEnum nell'InspectorRiepilogo: tabella del bottino7Macchine a stati
Gli stati come classiUna macchina a statiTransizioniIntelligenze dei nemiciRiepilogo: stati della porta10Progetto: Sopravvissuto nell’arena
L’eroeTipi di nemici5ScriptableObjects
Asset di datiStatistiche delle armiImpostazioni condiviseOndate come datiRiepilogo: database degli oggetti