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 | Tipos Privados | Métodos Privados | Atributos Privados | Lista de todos os Membros
Referência da Classe AIEngineer

Componete IA que se move para ponto de destino. Mais...

#include <AIEngineer.h>

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

Métodos Públicos

 AIEngineer (float speed, int dest, TileMap &tilemap, GameObject &associated, WaveManager &wManager)
 Construtor. Mais...
 
 ~AIEngineer ()
 
void Update (float dt)
 Atualiza estado. Mais...
 
bool Is (ComponentType type) const
 Verifica se essa componente é do tipo informado. Mais...
 
void NotifyTileMapChanged (int tilePosition)
 
- Métodos Públicos inherited from Component
virtual ~Component (void)
 Destrutor. Mais...
 

Tipos Privados

enum  AIState {
  WALKING, WALKING_SLOWLY, BUILDING_BARRIER, STUNNED,
  STATE_NUM
}
 
enum  AIEvent {
  NONE, PATH_BLOCKED, PATH_FREE, SMOKE,
  NOT_SMOKE, STUN, NOT_STUN, EVENT_NUM
}
 

Métodos Privados

AIEvent ComputeEvents ()
 

Atributos Privados

float speed
 
float lastDistance
 
float actualTileweight
 
Vec2 vecSpeed
 
int destTile
 
std::shared_ptr< std::vector
< int > > 
path
 
uint pathIndex
 
ManhattanDistanceheuristic
 
std::map< int, double > tileWeightMap
 
Vec2 tempDestination
 
TileMaptileMap
 
GameObjectassociated
 
WaveManagerwaveManager
 
AIState actualState
 
AIState dfa [AIState::STATE_NUM][AIEvent::EVENT_NUM]
 

Descrição Detalhada

Componete IA que se move para ponto de destino.

Enumerações

enum AIEngineer::AIEvent
private
Valores enumerados
NONE 
PATH_BLOCKED 
PATH_FREE 
SMOKE 
NOT_SMOKE 
STUN 
NOT_STUN 
EVENT_NUM 
enum AIEngineer::AIState
private
Valores enumerados
WALKING 
WALKING_SLOWLY 
BUILDING_BARRIER 
STUNNED 
STATE_NUM 

Construtores & Destrutores

AIEngineer::AIEngineer ( float  speed,
int  dest,
TileMap tilemap,
GameObject associated,
WaveManager wManager 
)

Construtor.

Parâmetros
speedVelocidade de movimento, cujo sentido é para baixo.
desttile de destino.
associadoobjeto associado a essa IA. Instancia o componente.
AIEngineer::~AIEngineer ( void  )

Métodos

AIEngineer::AIEvent AIEngineer::ComputeEvents ( )
private
bool AIEngineer::Is ( ComponentType  type) const
virtual

Verifica se essa componente é do tipo informado.

Método herdade do componente com o oMapChangedbjetivo de identificar que tipo de componente é.

Implementa Component.

void AIEngineer::NotifyTileMapChanged ( int  tilePosition)
virtual

Implementa TileMapObserver.

void AIEngineer::Update ( float  dt)
virtual

Atualiza estado.

Parâmetros
dtIntervalo de tempo desde a última chamada.

Instancia o componente.

Implementa Component.

Atributos

AIState AIEngineer::actualState
private
float AIEngineer::actualTileweight
private
GameObject& AIEngineer::associated
private
int AIEngineer::destTile
private

indice do tile de destino

AIState AIEngineer::dfa[AIState::STATE_NUM][AIEvent::EVENT_NUM]
private
ManhattanDistance* AIEngineer::heuristic
private

Heuristica a ser utilizada pelo A* no calculo do caminho

float AIEngineer::lastDistance
private
std::shared_ptr<std::vector<int> > AIEngineer::path
private

Caminho a ser executado pela IA

uint AIEngineer::pathIndex
private
float AIEngineer::speed
private

Velocidade de movimento do GameObject com esse componente.

Vec2 AIEngineer::tempDestination
private
TileMap& AIEngineer::tileMap
private
std::map<int, double> AIEngineer::tileWeightMap
private
Vec2 AIEngineer::vecSpeed
private
WaveManager& AIEngineer::waveManager
private

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