package com.indignado.logicbricks.utils.builders;
import box2dLight.Light;
import box2dLight.PointLight;
import box2dLight.RayHandler;
import com.badlogic.gdx.graphics.Color;
/**
* @author Rubentxu.
*/
public class LightBuilder {
private final RayHandler rayHandler;
private int raysNum = 5;
private Color color= new Color();
private String lightType;
private float distance = 1;
public LightBuilder(RayHandler rayHandler) {
this.rayHandler = rayHandler;
}
public LightBuilder raysNum(int num) {
this.raysNum = num;
return this;
}
public LightBuilder color(Color color) {
this.color = color;
return this;
}
public <T extends Light> LightBuilder lightType(String type) {
this.lightType = type;
return this;
}
public LightBuilder distance(float distance) {
this.distance = distance;
return this;
}
public Light build() {
Light light = null;
if (lightType.equals("PointLight")) light = new PointLight(rayHandler, raysNum, color, distance, 0, 0);
return light;
}
}