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 AIMedic

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

#include <AIMedic.h>

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

Métodos Públicos

 AIMedic (float speed, int dest, TileMap &tilemap, GameObject &associated, WaveManager &wManager)
 Construtor. Mais...
 
 ~AIMedic (void)
 
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, WAITING, 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
 
Vec2 vecSpeed
 
float lastDistance
 
float actualTileweight
 
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 AIMedic::AIEvent
private
Valores enumerados
NONE 
PATH_BLOCKED 
PATH_FREE 
SMOKE 
NOT_SMOKE 
STUN 
NOT_STUN 
EVENT_NUM 
enum AIMedic::AIState
private
Valores enumerados
WALKING 
WALKING_SLOWLY 
WAITING 
STUNNED 
STATE_NUM 

Construtores & Destrutores

AIMedic::AIMedic ( 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.
AIMedic::~AIMedic ( void  )

Métodos

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

Verifica se essa componente é do tipo informado.

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

Implementa Component.

void AIMedic::NotifyTileMapChanged ( int  tilePosition)
virtual

Implementa TileMapObserver.

void AIMedic::Update ( float  dt)
virtual

Atualiza estado.

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

Instancia o componente.

Implementa Component.

Atributos

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

indice do tile de destino

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

Heuristica a ser utilizada pelo A* no calculo do caminho

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

Caminho a ser executado pela IA

uint AIMedic::pathIndex
private
float AIMedic::speed
private

Velocidade de movimento do GameObject com esse componente.

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

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