package com.indignado.logicbricks.utils.builders.actuators; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.physics.box2d.Body; import com.indignado.logicbricks.core.actuators.MotionActuator; /** * @author Rubentxu. */ public class MotionActuatorBuilder extends ActuatorBuilder<MotionActuator> { public MotionActuatorBuilder() { brick = new MotionActuator(); } public MotionActuatorBuilder setTargetRigidBody(Body targetRigidBody) { brick.targetRigidBody = targetRigidBody; return this; } public MotionActuatorBuilder setVelocity(Vector2 velocity) { brick.velocity = velocity; return this; } public MotionActuatorBuilder setForce(Vector2 force) { brick.force = force; return this; } public MotionActuatorBuilder setImpulse(Vector2 impulse) { brick.impulse = impulse; return this; } public MotionActuatorBuilder setAngularVelocity(float angularVelocity) { brick.angularVelocity = angularVelocity; return this; } public MotionActuatorBuilder setTorque(float torque) { brick.torque = torque; return this; } public MotionActuatorBuilder setAngularImpulse(float angularImpulse) { brick.angularImpulse = angularImpulse; return this; } public MotionActuatorBuilder setFixedRotation(boolean fixedRotation) { brick.fixedRotation = fixedRotation; return this; } public MotionActuatorBuilder setLimitVelocityX(float limitVelocityX) { brick.limitVelocityX = limitVelocityX; return this; } public MotionActuatorBuilder setLimitVelocityY(float limitVelocityY) { brick.limitVelocityY = limitVelocityY; return this; } @Override public MotionActuator getBrick() { MotionActuator brickTemp = brick; brick = new MotionActuator(); return brickTemp; } }