Esempio n. 1
0
    public void addHorizontalEnemy(int x, int y)
    {
        HorizontalEnemy enemy = Instantiate(Resources.Load <GameObject>("Prefabs/HorizontalEnemy")).GetComponent <HorizontalEnemy>();

        enemy.transform.parent = enemyFolder.transform;
        enemy.init(this, x, y);
        enemyList.Add(enemy);
        enemy.name = "Enemy" + enemyList.Count;
    }
Esempio n. 2
0
        private void SpawnRandomItem()
        {
            //Generates a random number to select an item to spawn
            int randomNumber = random.Next(1, 18);

            //Reset time
            previousSpawnTime = 0;

            //If the player has retrieved 3 flying objects, stop regular
            //spawning and instead spawn a batch of gems
            if (player.ItemsCollected["FlyingObjects"] >= 3)
            {
                //Spawn gems in a 6 by 6 matrix
                SpawnGemLines(6, 6);

                //Reset flying objects collected
                player.ItemsCollected["FlyingObjects"] = 0;
                player.AccumulatedPowerUpsUsed++;
            }

            else if (randomNumber <= 3)
            {
                SpawnEnemyWithObject();
            }

            else if (randomNumber >= 4 && randomNumber <= 6)
            {
                int rand = random.Next(1, 10);

                if (rand <= 5)
                    SpawnObstacles(Obstacle.SpawnSide.Left, numberOfObstacles, obstacleTimeDifference);
                else
                    SpawnObstacles(Obstacle.SpawnSide.Right, numberOfObstacles, obstacleTimeDifference);
            }

            else if (randomNumber >= 7 && randomNumber <= 9)
            {
                SpawnEnemy();
            }

            else if (randomNumber >= 10 && randomNumber <= 12)
            {
                SpawnFlyingEnemy();
            }

            else if (randomNumber >= 13 && randomNumber <= 15)
            {
                int rand = random.Next(1, 15);

                //Randomly choose the gem spawn state
                if (rand <= 5)
                {
                    SpawnGemsInLine(SpawnGemState.VerticalLeft, 5);
                }
                else if (rand > 5 && rand <= 10)
                {
                    SpawnGemsInLine(SpawnGemState.VerticalRight, 5);
                }
                else if (rand > 10 && rand <= 15)
                {
                    SpawnGemsInLine(SpawnGemState.Horizontal, 6);
                }
            }

            else if (randomNumber >= 16 && randomNumber <= 18)
            {
                HorizontalEnemy horizontalEnemy = new HorizontalEnemy(ScreenManager.Game,
                    new Animation(animationStore["HorizontalEnemy"]), player, horizontalEnemyPlatformTexture);

                horizontalEnemy.Initialize();

                horizontalEnemies.Add(horizontalEnemy);
            }
        }