void SpawnEnemysOfWave(int wave, GameTime gameTime) { Random rnd = new Random(); SpawnTime1 += (float)gameTime.ElapsedGameTime.TotalSeconds; SpawnTime2 += (float)gameTime.ElapsedGameTime.TotalSeconds; //spawn mele if (_waves[wave][0] > 0 && SpawnTime1 >= 1) { int randomSP = rnd.Next(0, 16); Enemy.enemy enemy = new Enemy.enemy(this.Game); enemy.body = _aspEnemy1; enemy.position = spawnPoints[randomSP]; enemy.attack = false; enemy.shootSpeed = 6f; enemy.enemyType = 0; enemy.lastFire = 0; enemy.frameEnemy = 0; enemy.shoot1 = _shoot1; enemy.shoot2 = _shoot2; enemy.die = _die; enemy.voice = _voice; enemy.orientacija = SpriteEffects.None; this.Game.Components.Add(enemy); _enemys.Add(enemy); _waves[wave][0]--; SpawnTime1 = 0; } if (_waves[wave][1] > 0 && SpawnTime2 >= 1) { //spawn range int randomSP = rnd.Next(0, 16); Enemy.enemy enemy = new Enemy.enemy(this.Game); enemy.body = _aspEnemy2; enemy.position = spawnPoints[randomSP]; enemy.attack = false; enemy.shootSpeed = 6f; enemy.enemyType = 1; enemy.lastFire = 0; enemy.frameEnemy = 0; enemy.shoot1 = _shoot1; enemy.shoot2 = _shoot2; enemy.die = _die; enemy.voice = _voice; enemy.orientacija = SpriteEffects.None; this.Game.Components.Add(enemy); _enemys.Add(enemy); _waves[wave][1]--; SpawnTime2 = 0; } if (_waves[wave][0] == 0 && _waves[wave][1] == 0) { spawn = false; } }
private void Shoot(Enemy.enemy enemy) { Vector2 direction = _player.position - enemy.position; float distance = direction.Length(); direction /= distance; direction.Normalize(); double kot = Math.Atan2(_player.position.Y - enemy.position.Y, _player.position.X - enemy.position.X); Bullet.Bullet bulet = new Bullet.Bullet(Game); bulet.body = _bullet.body; bulet.position = enemy.position; bulet.direction = direction; bulet.rotation = (float)kot; bulet.player = false; Game.Components.Add(bulet); _draw._bullets.Add(bulet); }