public void leaveSpot(Enemy enemy) { enemyPositions test = enemy.posRef; test.enemy = null; enemy.posRef = null; //add additional positions if (test.c1) { foreach (enemyPositions pos in Innerpositions.ToList()) { if (pos.enemy == null && !potentialc1Positions.Contains(pos)) { potentialc1Positions.Add(pos); } } } else { foreach (enemyPositions pos in Outerpositions.ToList()) { if (pos.enemy == null && !potentialc2Positions.Contains(pos)) { potentialc2Positions.Add(pos); } } } checkSpot(); updateEnemies(); }
public void Start() { for (int i = 0; i < INNERMAXPOSITIONS; i++) { enemyPositions newpos = new enemyPositions(); newpos.transform = innerRing.transform.GetChild(i); newpos.c1 = true; Innerpositions.Add(newpos); } for (int i = 0; i < OUTERMAXPOSITIONS; i++) { enemyPositions newpos = new enemyPositions(); newpos.transform = OuterRing.transform.GetChild(i); newpos.c2 = true; Outerpositions.Add(newpos); } foreach (enemyPositions pos in Innerpositions) { if (pos.enemy != null) { Debug.Log("not empty"); } else { potentialc1Positions.Add(pos); } } foreach (enemyPositions pos in Outerpositions) { if (pos.enemy != null) { Debug.Log("not empty"); } else { potentialc2Positions.Add(pos); } } }