| Projeto IDJ - Towers Of Madness
    TowerDefenseLovecraftnianoZombicida | 
Classe que gerencia as waves do jogo. Responsavel por iniciar, encerrar e contar as waves. Também gerencia o spawn dos inimigos na wave atual. Mantem a contagem de vidas restantes e inimigos restantes que sao usadas para condição de fim de jogo. Mais...
#include <WaveManager.h>
| Métodos Públicos | |
| WaveManager (TileMap &tileMap, string waveFile) | |
| Construtor.  Mais... | |
| ~WaveManager () | |
| Destrutor. Destrói o ponteiro de spawnGroups.  Mais... | |
| void | Update (float dt) | 
| Atualiza estado. Atualiza o estado da wave atual.  Mais... | |
| bool | Is (ComponentType type) const | 
| Tipo Retorna o tipo da componente se é igual a WAVE_MANAGER. true ou false.  Mais... | |
| void | StartWave (void) | 
| Inicializa um nova wave. reinicia os atributos da classe (enemyIndex, endWave e waveCount) para executar uma nova wave e conta o novo número de inimigos restantes.  Mais... | |
| bool | EndWave (void) const | 
| Verifica Fim de wave. Verifica se a flag de fim de wave foi acionada. Retorna endWave.  Mais... | |
| void | NotifyEnemyGotToHisDestiny (void) | 
| Inimigo Chegou ao Destino. Recebe uma notificação da componente HitPoints, se o inimigo foi destruido por chegar ao destino e decrementa o contador de vidas.  Mais... | |
| void | NotifyEnemyGotKilled (void) | 
| Inimigo Destruido. Recebe uma notificação se o inimigo foi destruido e decrementa o contador de inimigos restantes.  Mais... | |
| int | GetLifesLeft (void) | 
| Pegar vidas Restantes.  Mais... | |
| int | GetEnemiesLeft (void) | 
| Pegar inimigos Restantes.  Mais... | |
| bool | Victory (void) | 
| Condiçao de Vitoria.  Mais... | |
|  Métodos Públicos inherited from Component | |
| virtual | ~Component (void) | 
| Destrutor.  Mais... | |
| Métodos Privados | |
| void | SpawnEnemy (int tileMapPosition, int enemyId, uint baseHP, uint endPoint, uint indexOfTheEnemyToSpawn) | 
| Criar um novo inimigo no mapa.  Mais... | |
| Atributos Privados | |
| vector< vector< int > > * | spawnGroups | 
| vector< vector< int > > * | endGroups | 
| Timer | spawnTimer | 
| int | enemiesLeft | 
| int | playerLifes | 
| TileMap & | tileMap | 
| bool | endWave | 
| std::shared_ptr< std::pair < std::vector< WaveData > , std::vector< EnemyData > > > | wavesAndEnemysData | 
| int | waveIndex | 
| int | enemyIndex | 
| int | totalWaves | 
| int | waveTotalEnemies | 
| int | maxNumberOfEnemiesInSpawnPoint | 
| bool | victory | 
| Sound | waveStartSound | 
| Timer | betweenWavesTimer | 
| bool | waitingForTheNextWave | 
| Atributos Privados Estáticos | |
| static int | waveCount = 0 | 
Classe que gerencia as waves do jogo. Responsavel por iniciar, encerrar e contar as waves. Também gerencia o spawn dos inimigos na wave atual. Mantem a contagem de vidas restantes e inimigos restantes que sao usadas para condição de fim de jogo.
A waveManager é um componente. Ela gerencia as waves usando como base os inimigos restantes e vidas restantes.
| WaveManager::WaveManager | ( | TileMap & | tileMap, | 
| string | waveFile | ||
| ) | 
Construtor.
| tileMap | Usada para inicializar spawnGroup, um vetor de grupos, e cada grupo, um vetor de spawn points. Um vetor de vetor! | 
| waveFile | Nome do arquivo aonde será feita a leitura dos dados contendo todas as informações de wave e inimigos do jogo. | 
| WaveManager::~WaveManager | ( | ) | 
Destrutor. Destrói o ponteiro de spawnGroups.
| bool WaveManager::EndWave | ( | void | ) | const | 
Verifica Fim de wave. Verifica se a flag de fim de wave foi acionada. Retorna endWave.
| int WaveManager::GetEnemiesLeft | ( | void | ) | 
Pegar inimigos Restantes.
| int WaveManager::GetLifesLeft | ( | void | ) | 
Pegar vidas Restantes.
| 
 | virtual | 
Tipo Retorna o tipo da componente se é igual a WAVE_MANAGER. true ou false.
| type | Tipo da Compomente a ser comparada com WAVE_MANAGER. | 
Implementa Component.
| void WaveManager::NotifyEnemyGotKilled | ( | void | ) | 
Inimigo Destruido. Recebe uma notificação se o inimigo foi destruido e decrementa o contador de inimigos restantes.
| void WaveManager::NotifyEnemyGotToHisDestiny | ( | void | ) | 
Inimigo Chegou ao Destino. Recebe uma notificação da componente HitPoints, se o inimigo foi destruido por chegar ao destino e decrementa o contador de vidas.
| 
 | private | 
Criar um novo inimigo no mapa.
| tileMapPosition | Posição do tileMap. Usado para calcular a posição exata de spawn do inimigo. | 
| enemyId | identificador de inimigo no waveData. | 
| baseHP | HP base do inimigo para a wave atual. | 
| endPoint | posição de destino para aonde o inimigo vai. Lido de WaveData. | 
| void WaveManager::StartWave | ( | void | ) | 
Inicializa um nova wave. reinicia os atributos da classe (enemyIndex, endWave e waveCount) para executar uma nova wave e conta o novo número de inimigos restantes.
| 
 | virtual | 
Atualiza estado. Atualiza o estado da wave atual.
| dt | tempo dt, é usado para fazer o spawn de tempos em tempos dos inimigos. | 
Implementa Component.
| bool WaveManager::Victory | ( | void | ) | 
Condiçao de Vitoria.
| 
 | private | 
| 
 | private | 
Armazena o vetor de SpawnGroup, cada spawnGroup armazena um vetor de spawnPoint.
| 
 | private | 
Flag de fim da wave atual. true se a level acabou.
| 
 | private | 
Contador de inimigos restantes da wave atual.
| 
 | private | 
| 
 | private | 
Numero maximo de um tipo de inimigo dentro de uma SpawnGroup.
| 
 | private | 
Contador de inimigos restantes da wave atual.
| 
 | private | 
Armazena o vetor de SpawnGroup, cada spawnGroup armazena um vetor de spawnPoint.
| 
 | private | 
Contador para o cooldown de respawn.
| 
 | private | 
Identificador da wave atual, identificador do inimigo atual e o contador de waves. Vitória se da quando contador for igual ao número total.
| 
 | private | 
Verdadeiro se o jogador passou por todas as waves com vidas restantes.
| 
 | private | 
| 
 | staticprivate | 
Contador de waves restantes. Também usado para nivelar as waves.
| 
 | private | 
| 
 | private | 
Shared Pointer, vai armazenar a leitura do arquivo com as informaçoes de Wave e Inimigo.
| 
 | private | 
| 
 | private | 
Indica o número total de inimigos da wave atual.
 1.8.8
 1.8.8