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; }
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); } }