Revisão: estados da porta
Parte da seção Arquitetura de Jogos no Unity do Journey de Unity da Coddy. Lição 41 de 64.
Este capítulo deu a cada estado sua própria classe, executou todos com uma única StateMachine e deixou cada estado decidir por conta própria como sair. A porta reúne os três elementos.
Desafio
MédioPreencha os cinco estados da porta do castelo em DoorStates.cs; Door.cs contém os métodos auxiliares.
- Locked:
door.PressedNear()registraLocked.Door.Unlock()muda uma porta trancada paraclosed. - Closed:
PressedNear()muda paraopening. Opening: quandodoor.SlideTo(door.openY)for true, muda paraopen. - Open: após
door.stayOpensegundos, muda paraclosing. - Closing:
PressedNear()abre a porta novamente; caso contrário, quandoSlideTo(door.closedY)for true, muda paraclosed.
Pressione “Jogar”, pegue a chave e abra a porta. Em seguida, pressione “Verificar”.
Experimente você mesmo
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()
{
}
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
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 porta2Interfaces 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