void EnemySpawner:: SpawnBoss() { Enemy* lEnemy; lEnemy = dynamic_cast<Enemy*>(_Game->Spawn(new Enemy(), _Game->_Settings->EnemyBossTexture, true, nullptr)); lEnemy->SetHealth(_Game->_Settings->EnemyBossHealth); lEnemy->SetSpeed(_Game->_Settings->EnemyBossSpeed); lEnemy->Activate(); lEnemy->SetText(""); }
void EnemyGenerator::GenerateEnemy() { Enemy* enemy; // Get all the % values for the colors vector<float> allColorKeys = KeysInVector(allColorTypeChances); float colorTypeChance = randomPourcentageGenerator(); //Get a random key from the Vector of keys and use it to get it's paired color enum Enemy::ColorType color = allColorTypeChances[GetEnumKey(allColorKeys, colorTypeChance)]; // Create proper enemy depending on color switch (color) { case Enemy::green: enemy = GreenEnemy::Create(); break; case Enemy::orange: enemy = OrangeEnemy::Create(); break; case Enemy::red: enemy = RedEnemy::Create(); break; default: break; } enemy->color = color; // Same concept for color but with the shape vector<float> allShapeKeys = KeysInVector(allShapeTypeChances); float shapeTypeChance = randomPourcentageGenerator(); enemy->shape = allShapeTypeChances[GetEnumKey(allShapeKeys, shapeTypeChance)]; enemy->enemySprite = Sprite::create(textBank->enemyTexture); enemy->enemySprite->setTag(ENEMY_TAG); // Used for referencing object to delete enemy->enemySprite->setUserData(enemy); // Find the proper rect on the enemy spritesheat enemy->SetupEnemySpriteRect(enemy); // Apply proper collider geometry enemy->SetupCollisionShape(enemy); // Move above the screen with random X pos enemy->SetStartingPos(enemy->enemySprite); enemyLayer->addChild(enemy->enemySprite); enemy->Activate(); }
void EnemySpawner:: SpawnEnemy() { Enemy* lEnemy; if (Wave == 1) { lEnemy = dynamic_cast<Enemy*>(_Game->Spawn(new Enemy(), _Game->_Settings->Enemy1Texture, true, nullptr)); lEnemy->SetHealth(_Game->_Settings->Enemy1Health); lEnemy->SetSpeed(_Game->_Settings->Enemy1Speed); lEnemy->SetSound(_Game->_Settings->EnemyDeathSound); } if (Wave >= 2) { lEnemy = dynamic_cast<Enemy*>(_Game->Spawn(new Enemy(), _Game->_Settings->Enemy2Texture, true, nullptr)); lEnemy->SetHealth(_Game->_Settings->Enemy2Health); lEnemy->SetSpeed(_Game->_Settings->Enemy2Speed); lEnemy->SetSound(_Game->_Settings->EnemyDeathSound); } lEnemy->Activate(); }