void ScenarioDefend::Update(double dt, bool multiplay) { this->multiplay = multiplay; if (timer.GetTimeLeft() > 0){ if (Enemy::enemyList.size() <= 0){//check for wave completion wave++; amountToSpawn += increment; SpawnEnemies(); MoveEnemies(); } } if (Enemy::enemyList.size() > 0){ for (vector<Enemy*>::iterator it = Enemy::enemyList.begin(); it != Enemy::enemyList.end();){//check if enemies reached destination if ((*it)->reachedDestination){ HP -= 1; if (HP <= 0){// LOSE stopScenario = true; } delete *it; it = Enemy::enemyList.erase(it); } else{ it++; } } } if (timer.GetTimeLeft() <= 0 && Enemy::enemyList.size() <= 0){// WIN winScenario = true; stopScenario = true; } }
void World::Update(float dt) { if(mActive == true) { UpdateGameObjects(dt); SpawnEnemies(dt); FireBullets(); CheckCollision(); } }
ScenarioDefend::ScenarioDefend(int health, double duration, int increment, bool multiplay) { this->increment = increment; amountToSpawn = increment; HP = health; wave = 1; winScenario = false; timer.StartCountdown(duration); this->multiplay = multiplay; SpawnEnemies(); MoveEnemies(); }