コード例 #1
0
        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);
                }
            }
        }