@@ -0,0 +1,1793 @@
+package com.pqbyte.coherence;%0A%0Aimport com.badlogic.gdx.Gdx;%0Aimport com.badlogic.gdx.physics.box2d.Body;%0Aimport com.badlogic.gdx.physics.box2d.BodyDef;%0Aimport com.badlogic.gdx.physics.box2d.CircleShape;%0Aimport com.badlogic.gdx.physics.box2d.FixtureDef;%0Aimport com.badlogic.gdx.physics.box2d.World;%0Aimport com.badlogic.gdx.scenes.scene2d.Actor;%0A%0Apublic class Projectile extends Actor %7B%0A%0A  private Body body;%0A  private World world;%0A  private float toX;%0A  private float toY;%0A%0A  public Projectile(float fromX, float fromY, float toX, float toY, World world) %7B%0A    this.world = world;%0A    this.toX = toX;%0A    this.toY = toY;%0A    setPosition(fromX, fromY);%0A    setSize(0.5f, 0.5f);%0A    body = createProjectileBody();%0A  %7D%0A%0A  @Override%0A  public void act(float delta) %7B%0A    float dx = toX - getX();%0A    float dy = toY - getY();%0A%0A    body.applyLinearImpulse(dx, dy, getX(), getY(), false);%0A  %7D%0A%0A  @Override%0A  public boolean remove() %7B%0A    // Check to see if bullet was already removed.%0A    if (body.getUserData() != null) %7B%0A      world.destroyBody(body);%0A    %7D%0A%0A    return super.remove();%0A  %7D%0A%0A  private Body createProjectileBody() %7B%0A    BodyDef bodyDef = new BodyDef();%0A    bodyDef.type = BodyDef.BodyType.DynamicBody;%0A    bodyDef.position.set(%0A        getX() + getWidth() / 2,%0A        getY() + getHeight() / 2%0A    );%0A    Body body = world.createBody(bodyDef);%0A    body.setBullet(true);%0A    CircleShape shape = new CircleShape();%0A    shape.setRadius(getWidth() / 2);%0A%0A    FixtureDef fixtureDef = new FixtureDef();%0A    fixtureDef.shape = shape;%0A    fixtureDef.density = 10;%0A    fixtureDef.filter.categoryBits = Constants.PHYSICS_ENTITY;%0A    fixtureDef.filter.maskBits = Constants.WORLD_ENTITY;%0A%0A    body.createFixture(fixtureDef);%0A    body.setUserData(this);%0A    shape.dispose();%0A%0A    return body;%0A  %7D%0A%7D%0A

Add Projectile actor