public override List <Bullet> makeBullets(Vector2 location, Texture2D bulletTexture, TEAM team, double angleOffset = 0) { List <Bullet> result = new List <Bullet>(); if (onWave) { result = bulletWave.makeBullets(location, bulletTexture, team, angleOffset); } else { List <Bullet> createdBullets = collidingBullets.makeBullets(location, bulletTexture, team, angleOffset); foreach (var b in createdBullets) { Bullet newBullet = new BulletCollidingBullet(b); result.Add(newBullet); BHGame.CollisionManager.removeFromTeam(b, b.team); BHGame.CollisionManager.addToTeam(newBullet, TEAM.UNASSIGNED); } } onWave = !onWave; return(result); }
public override List <Bullet> makeBullets(Vector2 location, Texture2D bulletTexture, TEAM team, double angleOffset = 0) { Vector2 relLoc = path.UpdateLocation(); Vector2 newLocation = location + relLoc; List <Bullet> created = bulletFactory.makeBullets(newLocation, bulletTexture, team, angleOffset); return(new List <Bullet>(created)); }
public override List <Bullet> makeBullets(Vector2 location, Texture2D bulletTexture, TEAM team, double angleOffset) { List <Bullet> result = new List <Bullet>(); Bullet b; double increment = Math.PI / (amountOfBullets / 2d); for (double i = 0; i < 2 * Math.PI; i += increment) { List <Bullet> bulletsCreated = bulletsToSpawn.makeBullets(location, bulletTexture, team, i); result.AddRange(bulletsCreated); // Path p = new Path(fireShape, location, i); // b = new Bullet(damage, p, bulletTexture, team); // b.SetSize(20, 30); // b.Hitbox = new CollidingRectangle(b.Location, new Vector2(0, 0), 20, 30); // BHGame.CollisionManager.addToTeam(b, team); // result.Add(b); } return(result); }