internal static Joint Create(JointDef def) { Joint joint = null; switch (def.Type) { case JointType.DistanceJoint: { joint = new DistanceJoint((DistanceJointDef)def); } break; case JointType.MouseJoint: { joint = new MouseJoint((MouseJointDef)def); } break; case JointType.PrismaticJoint: { joint = new PrismaticJoint((PrismaticJointDef)def); } break; case JointType.RevoluteJoint: { joint = new RevoluteJoint((RevoluteJointDef)def); } break; case JointType.PulleyJoint: { joint = new PulleyJoint((PulleyJointDef)def); } break; case JointType.GearJoint: { joint = new GearJoint((GearJointDef)def); } break; case JointType.LineJoint: { joint = new LineJoint((LineJointDef)def); } break; default: Box2DNetDebug.Assert(false); break; } return(joint); }
protected Joint(JointDef def) { _type = def.Type; _prev = null; _next = null; _body1 = def.Body1; _body2 = def.Body2; _collideConnected = def.CollideConnected; _islandFlag = false; _userData = def.UserData; }