public void PreSolve(Contact contact, ref Manifold oldManifold) { var unitA = (Unit) contact.GetFixtureA().GetBody().GetUserData(); var unitB = (Unit) contact.GetFixtureB().GetBody().GetUserData(); if (!(unitA.EnableCollision && unitB.EnableCollision && GroupManager.Instance.ShouldContact(unitA.Group, unitB.Group))) { contact.SetEnabled(false); } }