Projeto IDJ - Towers Of Madness
TowerDefenseLovecraftnianoZombicida
 Todos Classes Arquivos Funções Variáveis Definições de Tipos Enumerações Valores enumerados Definições e Macros Páginas
Métodos Públicos | Métodos Protegidos | Atributos Protegidos | Lista de todos os Membros
Referência da Classe Stateabstract

Classe virtual que modela um estado do jogo. Mais...

#include <State.h>

Diagrama de Hierarquia para State:
[legenda]
Diagrama de colaboração para State:
[legenda]

Métodos Públicos

 State (void)
 Construtor. Mais...
 
virtual ~State (void)
 Destrutor. Mais...
 
virtual void Update (float dt)=0
 Atualiza os estado do jogo. Mais...
 
virtual void Render (void) const =0
 Renderiza os elmentos do jogo. Mais...
 
virtual void Pause (void)=0
 Pausa o State. Mais...
 
virtual void Resume (void)=0
 Despausa o State. Mais...
 
virtual void AddObject (GameObject *object)
 Adiciona um GameObject ao vetor de GameObjects. Mais...
 
bool PopRequested (void)
 Informa se o state deve ser desempilhado. Mais...
 
bool QuitRequested (void)
 Informa se o state solicitou que o jogo seja fechado. Mais...
 
virtual void LoadAssets (void) const =0
 Carrega os assets do estado. Mais...
 

Métodos Protegidos

virtual void UpdateArray (float dt)
 Atualiza o estado de cada GameObject no vetor de GameObjects. Mais...
 
virtual void RenderArray (void) const
 Renderiza cada GameObject no vetor de GameObjects. Mais...
 

Atributos Protegidos

bool popRequested
 
bool quitRequested
 
std::vector< std::unique_ptr
< GameObject > > 
objectArray
 

Descrição Detalhada

Classe virtual que modela um estado do jogo.

State provê uma interface sobre a qual a lógica do jogo pode ser desenvolvida e rodada sobre a engine. Um jogo pode ter vários estados, solictando que seja desempilhado ou que novos estados sejam empilhados. A engine os gerencia como uma pilha.

Construtores & Destrutores

State::State ( void  )

Construtor.

Inicializa as variáveis protegidas. Para fins de praticidade recomenda-se que seus filhos chamem esse construtor caso não queiram inicializar essas variáveis por si mesmo.

State::~State ( void  )
virtual

Destrutor.

Futuras Atividades:
Verificar necessidade de fazer um destrutor virtual.

Força os filhos a implementarem um destrutor.

Métodos

void State::AddObject ( GameObject object)
virtual

Adiciona um GameObject ao vetor de GameObjects.

No processo o ponteiro para esse gameobject é transformado em um unique_ptr.

virtual void State::LoadAssets ( void  ) const
pure virtual

Carrega os assets do estado.

Carrega os assets do estado.

Implementado por StageState, TitleState e EndState.

virtual void State::Pause ( void  )
pure virtual

Pausa o State.

Esse método realizar as ações necessárias para pausar o State para que outro State seja empilhado sobre ele.

Implementado por StageState, TitleState e EndState.

bool State::PopRequested ( void  )

Informa se o state deve ser desempilhado.

Verdadeiro se ele deve ser desempilhado, falso caso contrário.

bool State::QuitRequested ( void  )

Informa se o state solicitou que o jogo seja fechado.

Verdadeiro se o State solicitou o encerramento do programa, falso caso contrário.

virtual void State::Render ( void  ) const
pure virtual

Renderiza os elmentos do jogo.

Aqui deve ser colocado o código que rederiza os elementos jogo na ordem que for desejada. Pode-se fazer o uso do RenderArray por praticidade.

Implementado por StageState, TitleState e EndState.

void State::RenderArray ( void  ) const
protectedvirtual

Renderiza cada GameObject no vetor de GameObjects.

Percorre todos os GameObjects do vetor de GameObjects chamando o método Render de cada um deles.

virtual void State::Resume ( void  )
pure virtual

Despausa o State.

Esse método realizar as ações necessárias para o State seja despausado pois o State que estava sobre ele na pilha foi desempilhado.

Implementado por StageState, TitleState e EndState.

virtual void State::Update ( float  dt)
pure virtual

Atualiza os estado do jogo.

Parâmetros
dtintervalo de tempo transcorrido desde a última atualização.

Aqui deve ser colocado o código que atualiza o estado do jogo, utilizando dos dados contidos no inputManager, câmera e outras paster que forem julgadas necessárias. Pode-se fazer o uso do UpdateArray() por praticidade.

Implementado por StageState, TitleState e EndState.

void State::UpdateArray ( float  dt)
protectedvirtual

Atualiza o estado de cada GameObject no vetor de GameObjects.

Parâmetros
dtTempo transcorrido desde a última atualização.

O vetor de GameObjects é percorrido completamente e para cada gameObject o método Update é chamado passando como argumento dt. Se algum GameObject for considerado morto(IsDead retornar verdadeiro) esse GameObject é removido do vetor de GameObjects.

Atributos

std::vector<std::unique_ptr<GameObject> > State::objectArray
protected

Vetor de GameObjects.

bool State::popRequested
protected

Armazena a informação se o state solicitou desempilhamento.

bool State::quitRequested
protected

Armazena a informação se o state solicitou que o jogo seja fechado.


A documentação para esta classe foi gerada a partir dos seguintes arquivos: