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 | Atributos Públicos | Atributos Protegidos | Lista de todos os Membros
Referência da Classe GameObject

Classe virtual que especifica o funcionamento de um GameObject. Mais...

#include <GameObject.h>

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

Métodos Públicos

 GameObject (void)
 Construtor. Mais...
 
void AddComponent (Component *component)
 Adiciona componente a um gameobjet. Mais...
 
ComponentGetComponent (ComponentType type)
 Obtém componente. Mais...
 
void RemoveComponent (ComponentType type)
 Remove componente a um gameobjet. Mais...
 
virtual ~GameObject (void)
 Destrutor. Mais...
 
virtual void Update (float dt)
 Atualizar estado. Mais...
 
virtual void Render (void)
 Renderiza o GameObject. Mais...
 
virtual bool IsDead (void)
 Informa se esse gameObject não precisa mais existir. Mais...
 
virtual void RequestDelete (void)
 Solicita que o GameObject seja destruído. Mais...
 
virtual void NotifyCollision (GameObject &other)
 Notifica Colisão. Mais...
 
virtual bool Is (string type)
 Informa que tipo de GameObject é. Mais...
 
virtual Rect GetWorldRenderedRect (void) const
 Obtém Rect informando a posição renderizada da animação. Mais...
 

Atributos Públicos

Rect box
 
float rotation
 

Atributos Protegidos

std::vector< Component * > components
 
bool dead
 

Descrição Detalhada

Classe virtual que especifica o funcionamento de um GameObject.

Especifica quais métodos um gameObject deve ter para conseguir ser manipulado corretamente pela engine.

Construtores & Destrutores

GameObject::GameObject ( void  )

Construtor.

Não é virtual, sua implementação inicializa a rotação com o valor zero. Pode ser usado pelos herdeiros.

GameObject::~GameObject ( void  )
virtual

Destrutor.

Basicamente é para obrigar quem implementar de usar um destrutor.

Métodos

void GameObject::AddComponent ( Component component)

Adiciona componente a um gameobjet.

Parâmetros
componentcomponente a ser adicionado.
Component & GameObject::GetComponent ( ComponentType  type)

Obtém componente.

Parâmetros
typetipo do componente a ser buscado.
Futuras Atividades:
Verificar viabilidade de lançar exceção ao invés de fechar o jogo.

Se não existir um componente do tipo informado Error() será chamado

Rect GameObject::GetWorldRenderedRect ( void  ) const
virtual

Obtém Rect informando a posição renderizada da animação.

Obtém Rect informando a posição renderizada, computando zoom, escala e posição da câmera.

Reimplementado por Enemy, Animation, Tower e Obstacle.

bool GameObject::Is ( string  type)
virtual

Informa que tipo de GameObject é.

Parâmetros
typeTipo com o qual quer se verificar que esse GameObject é.
Retorna
Verdadeiro se for do tipo perguntado, falso caso contrário;

É usado no tratamento de colisão para que se identifique com quem colidiu.

Reimplementado por Enemy, Animation, Tower, Bullet e Obstacle.

bool GameObject::IsDead ( void  )
virtual

Informa se esse gameObject não precisa mais existir.

Retorna
Verdadeiro se esse GameObject não é mais necessário, false caso contrário.

Deve ser usado no State que o contém para o eliminar da sua estrutura de manipulação de gameObject e destruí-lo.

Reimplementado por Enemy, Animation, Tower e Bullet.

void GameObject::NotifyCollision ( GameObject other)
virtual

Notifica Colisão.

Parâmetros
otherReferência para o gameobject com o qual se colidiu.

Deve realizar as ações para tratamento da colisão.

Reimplementado por Enemy, Animation, Tower, Bullet e Obstacle.

void GameObject::RemoveComponent ( ComponentType  type)

Remove componente a um gameobjet.

Parâmetros
typeTipo do componente a ser removido. Se a não existir um componente desse tipo no GameObject nada será feito.
void GameObject::Render ( void  )
virtual

Renderiza o GameObject.

Esse método deve ter a lógica necessário para ser renderizado na tela.

Reimplementado por Enemy, Animation, Tower, Bullet e Obstacle.

void GameObject::RequestDelete ( void  )
virtual

Solicita que o GameObject seja destruído.

Uma vez que esse método é chamado, futuras chamadas ao IsDead devem retornar verdadeiro.

Reimplementado por Enemy, Animation, Tower e Obstacle.

void GameObject::Update ( float  dt)
virtual

Atualizar estado.

Parâmetros
dttempo transcorrido desde a última chamada ao método.

No corpo método o GameObject deve atualizar seu estado, utilizando o argumento passado e quaisquer outras funcionalidades que necessitar.

Reimplementado por Enemy, Animation, Tower, Bullet e Obstacle.

Atributos

Rect GameObject::box

Posição do GameObject na tela.

std::vector<Component* > GameObject::components
protected

Vetor de componentes, que provêem funcionalidades adicionais.

bool GameObject::dead
protected

Booleano informado se o GameObject deve ser destruído. Faz-se necessário para que a mecânia de RequestDelete e IsDead funcione num GameObject.

float GameObject::rotation

Rotação do GameObject.


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