상속: MonoBehaviour
        public FinalBossBullets(Vector2 newPosition, ContentManager gameContent, int directionModifier) : base(null, newPosition, Vector2.Zero, true, null)
        {
            Vector2 midShotPos   = new Vector2(position.X + 94, position.Y + 63);
            Vector2 leftShotPot  = new Vector2(position.X + 40, position.Y + 75);
            Vector2 rightShotPos = new Vector2(position.X + 148, position.Y + 75);

            Content = gameContent;
            bullets = new List <Bullets>();
            factory = new BulletFactory(gameContent);
            BulletMovements down      = new BulletMovements();
            BulletMovements downLeft  = new BulletMovements();
            BulletMovements downRight = new BulletMovements();

            down.addMovement(new MoveDown(7.0));
            downLeft.addMovement(new MoveDownLeft(7.0));
            downRight.addMovement(new MoveDownRight(7.0));
            bullets.Add(factory.bulletFactory("bullet", midShotPos, new Vector2(0, (10 * directionModifier)), true, 1, down));
            bullets.Add(factory.bulletFactory("bullet", midShotPos, new Vector2(-5, (10 * directionModifier)), true, 1, downLeft));
            bullets.Add(factory.bulletFactory("bullet", midShotPos, new Vector2(-10, (10 * directionModifier)), true, 1, downLeft));
            bullets.Add(factory.bulletFactory("bullet", midShotPos, new Vector2(-5, (10 * directionModifier)), true, 1, downRight));
            bullets.Add(factory.bulletFactory("bullet", midShotPos, new Vector2(-10, (10 * directionModifier)), true, 1, downRight));

            bullets.Add(factory.bulletFactory("bullet", leftShotPot, new Vector2(-1, (10 * directionModifier)), true, 1, down));
            bullets.Add(factory.bulletFactory("bullet", rightShotPos, new Vector2(-1, (10 * directionModifier)), true, 1, down));
        }
        public FinalBossRandomBullets(Vector2 newPosition, ContentManager gameContent, int directionModifier) : base(null, newPosition, Vector2.Zero, true, null)
        {
            Random random = new Random();

            Content = gameContent;
            bullets = new List <Bullets>();
            factory = new BulletFactory(gameContent);

            Vector2         pos     = new Vector2(random.Next(0, 1000), random.Next(0, 40));
            int             randDir = random.Next(0, 3);
            BulletMovements moves   = new BulletMovements();

            Movement mov = new MoveDownLeft(7.0);

            if (randDir == 0)
            {
                moves.addMovement(new MoveDown(7.0));
            }
            else if (randDir == 1)
            {
                moves.addMovement(new MoveDownLeft(7.0));
            }
            else if (randDir == 2)
            {
                moves.addMovement(new MoveDownRight(7.0));
            }

            bullets.Add(factory.bulletFactory("bullet", pos, new Vector2(1, (2 * directionModifier)), true, 1, moves));
        }
예제 #3
0
 public Bullets(Texture2D newTexture, Vector2 newPosition, Vector2 newVelocity, bool visibility, BulletMovements newMoves)
 {
     texture   = newTexture;
     isVisible = visibility;
     position  = newPosition;
     velocity  = newVelocity;
     moves     = newMoves;
 }
        public FinalBossTopBottom(Vector2 newPosition, ContentManager gameContent, int directionModifier) : base(null, newPosition, Vector2.Zero, true, null)
        {
            Vector2 randomPos = new Vector2(position.X + 94, position.Y + 63);

            Content = gameContent;
            bullets = new List <Bullets>();
            factory = new BulletFactory(gameContent);
            int randDir = 0;

            for (int i = 0; i < 30; i++)
            {
                BulletMovements moves = new BulletMovements();
                for (int j = 0; j < 15; j++)
                {
                    randDir = random.Next(0, 3);
                    if (randDir == 0)
                    {
                        moves.addMovement(new MoveDown(0.5));
                    }
                    else if (randDir == 1)
                    {
                        moves.addMovement(new MoveDownLeft(0.5));
                    }
                    else if (randDir == 2)
                    {
                        moves.addMovement(new MoveDownRight(0.5));
                    }
                }
                bullets.Add(factory.bulletFactory("bullet", new Vector2(-50 + i * 35, -i * 10), new Vector2(1, (3 * directionModifier)), true, 1, moves));
            }
            for (int i = 0; i < 30; i++)
            {
                BulletMovements moves = new BulletMovements();
                for (int j = 0; j < 20; j++)
                {
                    randDir = random.Next(0, 3);
                    if (randDir == 0)
                    {
                        moves.addMovement(new MoveUp(0.5));
                    }
                    else if (randDir == 1)
                    {
                        moves.addMovement(new MoveUpLeft(0.5));
                    }
                    else if (randDir == 2)
                    {
                        moves.addMovement(new MoveUpRight(0.5));
                    }
                }
                bullets.Add(factory.bulletFactory("bullet", new Vector2(-50 + i * 35, 450 + i * 10), new Vector2(1, (3 * directionModifier)), true, 1, moves));
            }
        }
        public BulletSpread(Vector2 newPosition, ContentManager gameContent, int directionModifier) : base(null, newPosition, Vector2.Zero, true, null)
        {
            position = newPosition;
            Content  = gameContent;
            bullets  = new List <Bullets>();
            factory  = new BulletFactory(gameContent);
            BulletMovements up      = new BulletMovements();
            BulletMovements upLeft  = new BulletMovements();
            BulletMovements upRight = new BulletMovements();

            up.addMovement(new MoveUp(7.0));
            upLeft.addMovement(new MoveUpLeft(7.0));
            upRight.addMovement(new MoveUpRight(7.0));
            bullets.Add(factory.bulletFactory("bullet", position, new Vector2(0, (10 * directionModifier)), true, 1, up));
            bullets.Add(factory.bulletFactory("bullet", position, new Vector2(5, (10 * directionModifier)), true, 1, upLeft));
            bullets.Add(factory.bulletFactory("bullet", position, new Vector2(10, (10 * directionModifier)), true, 1, upLeft));
            bullets.Add(factory.bulletFactory("bullet", position, new Vector2(5, (10 * directionModifier)), true, 1, upRight));
            bullets.Add(factory.bulletFactory("bullet", position, new Vector2(10, (10 * directionModifier)), true, 1, upRight));
        }
        public MidBossSpread(Vector2 newPosition, ContentManager gameContent, int directionModifier) : base(null, newPosition, Vector2.Zero, true, null)
        {
            Vector2 newPos = new Vector2(position.X + 46, position.Y + 20);

            Content = gameContent;
            bullets = new List <Bullets>();
            factory = new BulletFactory(gameContent);
            BulletMovements down      = new BulletMovements();
            BulletMovements downLeft  = new BulletMovements();
            BulletMovements downRight = new BulletMovements();

            down.addMovement(new MoveDown(7.0));
            downLeft.addMovement(new MoveDownLeft(7.0));
            downRight.addMovement(new MoveDownRight(7.0));
            bullets.Add(factory.bulletFactory("bullet", newPos, new Vector2(0, (10 * directionModifier)), true, 1, down));
            bullets.Add(factory.bulletFactory("bullet", newPos, new Vector2(-5, (10 * directionModifier)), true, 1, downLeft));
            bullets.Add(factory.bulletFactory("bullet", newPos, new Vector2(-10, (10 * directionModifier)), true, 1, downLeft));
            bullets.Add(factory.bulletFactory("bullet", newPos, new Vector2(-5, (10 * directionModifier)), true, 1, downRight));
            bullets.Add(factory.bulletFactory("bullet", newPos, new Vector2(-10, (10 * directionModifier)), true, 1, downRight));
        }
        public Bullets bulletFactory(String bulletName, Vector2 position, Vector2 velocity, bool visibility, int bulletType, int direction)
        {
            BulletMovements newMove = new BulletMovements();

            newMove.addMovement(new MoveDown(7.0));
            switch (bulletType)
            {
            case 1: return(new Bullets(Content.Load <Texture2D>(bulletName), position, velocity, visibility, newMove));

            case 5: return(new BulletSpread(position, Content, direction));

            case 6: return(new FinalBossBullets(position, Content, direction));

            case 7: return(new MidBossSpread(position, Content, direction));

            case 8: return(new FinalBossRandomBullets(position, Content, 1));

            case 9: return(new FinalBossTopBottom(position, Content, 1));

            case 10: return(new FinalBossSpiral(position, Content, 1));

            default: return(new Bullets(Content.Load <Texture2D>(bulletName), position, velocity, visibility, newMove));
            }
        }
예제 #8
0
        public FinalBossSpiral(Vector2 newPosition, ContentManager gameContent, int directionModifier) : base(null, newPosition, Vector2.Zero, true, null)
        {
            Content = gameContent;
            bullets = new List <Bullets>();
            factory = new BulletFactory(gameContent);
            BulletMovements down = new BulletMovements();

            down.addMovement(new MoveDown(.65));
            down.addMovement(new MoveDownRight(.65));
            down.addMovement(new MoveRight(10.5));

            BulletMovements downLeft = new BulletMovements();

            downLeft.addMovement(new MoveDownRight(.65));
            downLeft.addMovement(new MoveRight(.65));
            downLeft.addMovement(new MoveUpRight(10.5));

            BulletMovements downRight = new BulletMovements();

            downRight.addMovement(new MoveDownLeft(.65));
            downRight.addMovement(new MoveDown(.65));
            downRight.addMovement(new MoveDownRight(10.5));

            BulletMovements right = new BulletMovements();

            right.addMovement(new MoveLeft(.65));
            right.addMovement(new MoveDownLeft(.65));
            right.addMovement(new MoveDown(10.5));

            BulletMovements left = new BulletMovements();

            left.addMovement(new MoveRight(.65));
            left.addMovement(new MoveUpRight(.65));
            left.addMovement(new MoveUp(10.5));

            BulletMovements upLeft = new BulletMovements();

            upLeft.addMovement(new MoveUpRight(.65));
            upLeft.addMovement(new MoveUp(.65));
            upLeft.addMovement(new MoveUpLeft(10.5));

            BulletMovements up = new BulletMovements();

            up.addMovement(new MoveUp(.65));
            up.addMovement(new MoveUpLeft(.65));
            up.addMovement(new MoveLeft(10.5));

            BulletMovements upRight = new BulletMovements();

            upRight.addMovement(new MoveUpLeft(.65));
            upRight.addMovement(new MoveLeft(.65));
            upRight.addMovement(new MoveDownLeft(10.5));

            bullets.Add(factory.bulletFactory("bullet", new Vector2(position.X + 94, position.Y + 40), new Vector2(4, (3 * directionModifier)), true, 1, down));
            bullets.Add(factory.bulletFactory("bullet", new Vector2(position.X + 94, position.Y + 40), new Vector2(4, (3 * directionModifier)), true, 1, downLeft));
            bullets.Add(factory.bulletFactory("bullet", new Vector2(position.X + 94, position.Y + 40), new Vector2(4, (3 * directionModifier)), true, 1, downRight));
            bullets.Add(factory.bulletFactory("bullet", new Vector2(position.X + 94, position.Y + 40), new Vector2(4, (3 * directionModifier)), true, 1, right));
            bullets.Add(factory.bulletFactory("bullet", new Vector2(position.X + 94, position.Y + 40), new Vector2(4, (3 * directionModifier)), true, 1, left));
            bullets.Add(factory.bulletFactory("bullet", new Vector2(position.X + 94, position.Y + 40), new Vector2(4, (3 * directionModifier)), true, 1, upLeft));
            bullets.Add(factory.bulletFactory("bullet", new Vector2(position.X + 94, position.Y + 40), new Vector2(4, (3 * directionModifier)), true, 1, up));
            bullets.Add(factory.bulletFactory("bullet", new Vector2(position.X + 94, position.Y + 40), new Vector2(4, (3 * directionModifier)), true, 1, upRight));
        }