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));
        }
Beispiel #3
0
        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);
        }