package se.danielj.skuttandenyancat.systems;
import se.danielj.skuttandenyancat.misc.State;
import com.artemis.systems.VoidEntitySystem;
import com.badlogic.gdx.graphics.OrthographicCamera;
/**
*
* @author Daniel Jonsson
* @license GNU GPLv3
*
*/
public class CameraSystem extends VoidEntitySystem {
private OrthographicCamera camera;
public CameraSystem(OrthographicCamera camera) {
this.camera = camera;
}
private float zoom = 0.1f;
private boolean zoomIn = true;
private boolean moveUp = true;
private boolean moveRight = true;
@Override
protected void processSystem() {
// camera.translate(0, zoom * 1000 *world.delta);
if (State.isRunning()) {
camera.zoom -= zoom * 3 * world.delta;
// System.out.println(camera.position.y);
if (moveUp) {
camera.translate(0, zoom * 1000 * world.delta);
if (camera.position.y > 10) {
moveUp = !moveUp;
}
} else {
camera.translate(0, -zoom * 1000 * world.delta);
if (camera.position.y < -10) {
moveUp = !moveUp;
}
}
if (moveRight) {
camera.translate(zoom * 2000 * world.delta, 0);
if (camera.position.x > 10) {
moveRight = !moveRight;
}
} else {
camera.translate(-zoom * 1000 * world.delta, 0);
if (camera.position.x < -10) {
moveRight = !moveRight;
}
}
} else {
camera.zoom += zoom * 5 * world.delta;
camera.position.y = 0;
camera.position.x = 0;
}
if (camera.zoom < 0.6f) {
camera.zoom = 0.6f;
zoomIn = !zoomIn;
} else if (camera.zoom >= 1) {
camera.zoom = 1;
zoomIn = !zoomIn;
}
camera.update();
}
}