package com.indignado.functional.test; import com.badlogic.gdx.backends.lwjgl.LwjglApplication; import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration; import com.badlogic.gdx.physics.box2d.Joint; import com.badlogic.gdx.physics.box2d.joints.WeldJointDef; import com.indignado.functional.test.base.LogicBricksTest; import com.indignado.functional.test.levels.flyingDart.FlyingDartCollisionRule; import com.indignado.functional.test.levels.flyingDart.FlyingDartLevel; import com.indignado.logicbricks.config.Settings; import com.indignado.logicbricks.systems.sensors.CollisionSensorSystem; import com.indignado.logicbricks.utils.Log; /** * @author Rubentxu. */ public class FlyingDartTest extends LogicBricksTest { private String tag = this.getClass().getSimpleName(); private FlyingDartCollisionRule flyingDartCollisionRule; public static void main(String[] args) { LwjglApplicationConfiguration config = new LwjglApplicationConfiguration(); config.width = 800; config.height = 600; new LwjglApplication(new FlyingDartTest(), config); } @Override public void create() { super.create(); addLevel(new FlyingDartLevel(engine, builders, assetManager)); flyingDartCollisionRule = new FlyingDartCollisionRule(); CollisionSensorSystem collisionSensorSystem = new CollisionSensorSystem(); collisionSensorSystem.addCollisionRule(flyingDartCollisionRule); engine.addSystem(collisionSensorSystem); Settings.drawFPSPosX = -12.0f; Settings.drawFPSPosY = 18.0f; } @Override public void render() { super.render(); //game.getPhysics().clearForces(); for (WeldJointDef jointDef : flyingDartCollisionRule.jointDefs) { Log.debug(tag, "CreateJoint"); physics.createJoint(jointDef); } flyingDartCollisionRule.jointDefs.clear(); for (Joint joint : flyingDartCollisionRule.destroyJoints) { Log.debug(tag, "DestroyJoint"); physics.destroyJoint(joint); } flyingDartCollisionRule.destroyJoints.clear(); } }