Beispiel #1
0
        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);
        }
Beispiel #2
0
 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;
 }