void Start() { for (int x = 0; x < initialPopulation; x++) { GameObject temp = Instantiate(balancePrefab, Vector2.zero, Quaternion.identity); BalanceObjects newBalanceObject = temp.GetComponent <BalanceObjects>(); foreach (BalanceObjects bo in allBalanceObjects) { newBalanceObject.setNoCollisionWithBalanceObject(bo); } allBalanceObjects.Add(newBalanceObject); } }
public void setNoCollisionWithBalanceObject(BalanceObjects objectToNotCollideWith) { //all of our colliders with all of theirs foreach (BalancePolygons mine in allObjects) { foreach (BalancePolygons theirs in objectToNotCollideWith.allObjects) { Physics2D.IgnoreCollision(mine.collider, theirs.collider); } //also their ball Physics2D.IgnoreCollision(mine.collider, objectToNotCollideWith.balancerBall.GetComponent <Collider2D>()); } //my ball with all of theirs foreach (BalancePolygons theirs in objectToNotCollideWith.allObjects) { Physics2D.IgnoreCollision(balancerBall.GetComponent <Collider2D>(), theirs.collider); } //both balls Physics2D.IgnoreCollision(balancerBall.GetComponent <Collider2D>(), objectToNotCollideWith.balancerBall.GetComponent <Collider2D>()); }