package com.gdxjam.components;
import com.badlogic.ashley.core.Component;
import com.badlogic.ashley.core.Entity;
import com.badlogic.gdx.math.Vector2;
public class ControlComponent extends Component {
ControlBehavior behavior;
private ControlComponent() {
}
public ControlComponent init(ControlBehavior behavior) {
this.behavior = behavior;
return this;
}
public void forward(float delta) {
behavior.forward(delta);
}
public void left(float delta) {
behavior.left(delta);
}
public void reverse(float delta) {
behavior.reverse(delta);
}
public void right(float delta) {
behavior.right(delta);
}
public void lookAt(Vector2 position) {
behavior.lookAt(position);
}
public interface ControlBehavior {
public void forward(float delta);
public void left(float delta);
public void reverse(float delta);
public void right(float delta);
public void lookAt(Vector2 position);
public Entity getEntity();
}
}