Example #1
0
    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);
        }
    }
Example #2
0
    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>());
    }