Beispiel #1
0
 public Bullet(Tower parent, Texture2D bulletTexture)
 {
     this.parent = parent; // Sets the input parent to the class parent
     target = parent.target; // The towers target is also the bullets target
     texture = bulletTexture;
     position = parent.realPosition; // Puts the bullet in the middle of the towers position (in the origin of the tower)
     speed = 5; // bullet speederino
 }
Beispiel #2
0
        protected override void Initialize()
        {
            base.Initialize();
            tiles = new Tile[tilesY, tilesX];

            tileTextures.Add(tileTexture1); // Adding the textures to the lists of different textures
            tileTextures.Add(tileTexture2);

            enemyTextures.Add(enemyTexture1);

            tileTypes = new int[,] { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // Drawing the level
                                     { 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0},
                                     { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
                                     { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
                                     { 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
                                     { 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
                                     { 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
                                     { 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
                                     { 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
                                     { 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
                                     { 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
                                     { 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
                                     { 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
                                     { 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1},
                                     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} };

            for (int x = 0; x < tilesX; x++) // A double for loop to create the level (one for rows and one for columns)
            {
                for (int y = 0; y < tilesY; y++)
                {
                    tiles[y, x] = new Tile();
                    tiles[y, x].position = new Vector2(x * Tile.trueWidth * Tile.width + gridOffsetX, y * Tile.trueHeight * Tile.height + gridOffsetY);
                    tiles[y, x].tileType = tileTypes[y, x];
                }
            }

            tower1 = new Basic_tower(new Vector2(3, 8)); // Hardcoding 2 towers into the level (3, 8) are the coordinates on the level
            towers.Add(tower1);

            tower2 = new Basic_tower(new Vector2(8, 8));
            towers.Add(tower2);

            startWave(wave1, wavePath1, 0.5f); // Starting the wave with 0.5 sec delay between each spawn and including the wavepath they need to go to reach the goal
        }