Riepilogo: stati delle porte
Fa parte della sezione Architettura dei giochi in Unity del percorso Unity di Coddy. Lezione 41 di 64.
Questo capitolo ha assegnato a ogni stato una propria classe, li ha gestiti con un’unica StateMachine e ha lasciato che ogni stato decidesse da sé come uscirne. La porta riunisce questi tre elementi.
Sfida
MedioCompleta i cinque stati della porta del castello in DoorStates.cs; Door.cs contiene le funzioni di supporto.
- Bloccata:
door.PressedNear()registraLocked.Door.Unlock()cambia lo stato di una porta bloccata inclosed. - Chiusa:
PressedNear()passa aopening. In apertura: quandodoor.SlideTo(door.openY)è true, passa aopen. - Aperta: dopo
door.stayOpensecondi, passa aclosing. - In chiusura:
PressedNear()la riapre; altrimenti, quandoSlideTo(door.closedY)è true, passa aclosed.
Premi «Gioca», prendi la chiave e apri la porta. Poi premi «Verifica».
Provalo tu
using UnityEngine;
public class LockedState : IState
{
private Door door;
public LockedState(Door door)
{
this.door = door;
}
public void Enter()
{
}
public void Tick()
{
}
public void Exit()
{
}
}
public class ClosedState : IState
{
private Door door;
public ClosedState(Door door)
{
this.door = door;
}
public void Enter()
{
}
public void Tick()
{
}
public void Exit()
{
}
}
public class OpeningState : IState
{
private Door door;
public OpeningState(Door door)
{
this.door = door;
}
public void Enter()
{
}
public void Tick()
{
}
public void Exit()
{
}
}
public class OpenState : IState
{
private Door door;
public OpenState(Door door)
{
this.door = door;
}
public void Enter()
{
}
public void Tick()
{
}
public void Exit()
{
}
}
public class ClosingState : IState
{
private Door door;
public ClosingState(Door door)
{
this.door = door;
}
public void Enter()
{
}
public void Tick()
{
}
public void Exit()
{
}
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Architettura dei giochi in Unity
1Componenti, non gerarchie
Componenti piccoliUno script base per i nemiciComponenti astrattiComponenti che collaboranoRipasso: torretta modulareRipasso: cannone doppio4Dati serializzati
Classi serializzabiliElenchi nell'InspectorEnum nell'InspectorRiepilogo: tabella del bottinoRiepilogo: tira il bottino7Macchine a stati
Gli stati come classiLo stato di allertaUna macchina a statiTransizioniIntelligenza dei nemiciIl cavaliere attaccaRiepilogo: stati delle porte2Interfacce in Unity
IDamageableInterfacce e TryGetComponentGetComponentsRiepilogo: tasto InteragisciRiepilogo: il più vicino a portata5ScriptableObjects
Asset di datiStatistiche delle armiImpostazioni condiviseSalva il ventoOnde come datiRiepilogo: database degli oggettiRiepilogo: comprare dal negozioEsercitati da solo: Playground Unity