Example #1
0
        void Report(ContactVelocityConstraint[] constraints)
        {
            if (_contactManager == null)
            {
                return;
            }

            for (int i = 0; i < ContactCount; ++i)
            {
                Contact c = _contacts[i];

                //FPE optimization: We don't store the impulses and send it to the delegate. We just send the whole contact.
                //FPE feature: added after collision
                if (c.FixtureA.AfterCollision != null)
                {
                    c.FixtureA.AfterCollision(c.FixtureA, c.FixtureB, c, constraints[i]);
                }

                if (c.FixtureB.AfterCollision != null)
                {
                    c.FixtureB.AfterCollision(c.FixtureB, c.FixtureA, c, constraints[i]);
                }

                if (_contactManager.OnPostSolve != null)
                {
                    _contactManager.OnPostSolve(c, constraints[i]);
                }
            }
        }