package sink.json;
import sink.core.Asset;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.scenes.scene2d.ui.Slider;
import com.badlogic.gdx.utils.Json;
import com.badlogic.gdx.utils.JsonValue;
public class SliderJson extends Slider implements Json.Serializer<SliderJson> {
private boolean vertical = false;
public SliderJson(){
super(0, 0, 1, false, Asset.skin);
}
public SliderJson(float min, float max, float step, boolean vertical){
super(min, max, step, vertical, Asset.skin);
this.vertical = vertical;
}
@Override
public SliderJson read(Json json, JsonValue jv, Class arg2) {
SliderJson slider = new SliderJson(jv.getFloat("min"),jv.getFloat("max"),jv.getFloat("step")
, jv.getBoolean("vertical"));
slider.setName(jv.getString("name"));
slider.setX(jv.getFloat("x"));
slider.setY(jv.getFloat("y"));
slider.setWidth(jv.getFloat("width"));
slider.setHeight(jv.getFloat("height"));
slider.setValue(jv.getFloat("value"));
slider.setColor(Color.valueOf(jv.getString("color")));
return slider;
}
@Override
public void write(Json json, SliderJson slider, Class arg2) {
json.writeObjectStart();
json.writeValue("class", slider.getClass().getName());
json.writeValue("name", slider.getName());
json.writeValue("x", slider.getX());
json.writeValue("y", slider.getY());
json.writeValue("width", slider.getWidth());
json.writeValue("height", slider.getHeight());
json.writeValue("min", slider.getMinValue());
json.writeValue("max", slider.getMaxValue());
json.writeValue("step", slider.getStepSize());
json.writeValue("vertical", vertical);
json.writeValue("value", slider.getValue());
json.writeValue("color", slider.getColor().toString());
json.writeObjectEnd();
}
}