private void Report(ContactConstraint[] constraints) { if (_contactManager == null) { return; } for (int i = 0; i < ContactCount; ++i) { Contact c = _contacts[i]; if (c.FixtureA.AfterCollision != null) { c.FixtureA.AfterCollision(c.FixtureA, c.FixtureB, c); } if (c.FixtureB.AfterCollision != null) { c.FixtureB.AfterCollision(c.FixtureB, c.FixtureA, c); } if (_contactManager.PostSolve != null) { ContactConstraint cc = constraints[i]; _contactManager.PostSolve(c, cc); } } }