package com.indignado.logicbricks.utils.builders.joints; /** * @author Rubentxu. */ import com.badlogic.gdx.physics.box2d.Body; import com.badlogic.gdx.physics.box2d.Joint; import com.badlogic.gdx.physics.box2d.JointDef; import com.badlogic.gdx.physics.box2d.World; public abstract class BaseJointBuilder<T extends JointDef, JB extends BaseJointBuilder> { protected T jointDef; protected World world; public BaseJointBuilder(World world) { this.world = world; reset(); } protected JB initialize(Body bodyA, Body bodyB) { jointDef.bodyA = bodyA; jointDef.bodyB = bodyB; return (JB) this; } public JB collideConnected(boolean collideConnected) { jointDef.collideConnected = collideConnected; return (JB) this; } public Joint build() { return world.createJoint(jointDef); } public abstract void reset(); }