package sink.json;
import sink.core.Asset;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
import com.badlogic.gdx.utils.Json;
import com.badlogic.gdx.utils.JsonValue;
public class ImageJson extends Image implements Json.Serializer<ImageJson> {
private String texName = "";
public ImageJson(){
}
public ImageJson(String texName){
super(Asset.tex(texName));
this.texName = texName;
}
@Override
public ImageJson read(Json arg0, JsonValue jv, Class arg2) {
ImageJson image = new ImageJson(jv.getString("texName"));
image.setName(jv.getString("name"));
image.setX(jv.getFloat("x"));
image.setY(jv.getFloat("y"));
image.setWidth(jv.getFloat("width"));
image.setHeight(jv.getFloat("height"));
image.setColor(Color.valueOf(jv.getString("color")));
return image;
}
@Override
public void write(Json json, ImageJson image, Class arg2) {
json.writeObjectStart();
json.writeValue("class", image.getClass().getName());
json.writeValue("name", image.getName());
json.writeValue("x", image.getX());
json.writeValue("y", image.getY());
json.writeValue("width", image.getWidth());
json.writeValue("height", image.getHeight());
json.writeValue("color", image.getColor().toString());
json.writeValue("texName", image.getTexName());
json.writeObjectEnd();
}
public String getTexName(){
return texName;
}
}