void InitializeEnemeies() // get all enemies { int numberOfEnemyTypes = enemiesHolder.childCount; int numberOfEnemiesInType = enemiesHolder.GetChild(0).childCount; enemyArray = new EnemyWrap[numberOfEnemyTypes, numberOfEnemiesInType]; for (int i = 0; i < numberOfEnemyTypes; i++) { for (int j = 0; j < numberOfEnemiesInType; j++) { int id = (i + 1) * numberOfEnemiesInType + j; EnemyWrap thisEnemy = new EnemyWrap(id, "type" + i + "Number" + j, enemiesHolder.GetChild(i).GetChild(j).gameObject); enemyArray[i, j] = thisEnemy; enemyesDisctionary.Add(thisEnemy.myTransform, thisEnemy); } } }
EnemyWrap[] Get5RandomEnemies() { EnemyWrap[] arrayOfRandomEnemies = new EnemyWrap[5]; bool pickedCorrectly = false; EnemyWrap pickedEnemy; for (int i = 0; i < mainBattle.enemyPositions.Length; i++) { do { int randomType = Random.Range(0, enemyArray.GetLength(0)); int randomTypeNumber = Random.Range(0, enemyArray.GetLength(1)); pickedEnemy = enemyArray[randomType, randomTypeNumber]; if (!pickedEnemy.amIPositioned) { pickedCorrectly = true; } } while (!pickedCorrectly); pickedEnemy.amIPositioned = true; arrayOfRandomEnemies[i] = pickedEnemy; } return(arrayOfRandomEnemies); }