package sink.json; import sink.core.Asset; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.scenes.scene2d.ui.SelectBox; import com.badlogic.gdx.utils.Json; import com.badlogic.gdx.utils.JsonValue; public class SelectBoxJson extends SelectBox implements Json.Serializer<SelectBoxJson> { public SelectBoxJson(){ super(new String[]{}, Asset.skin); } public SelectBoxJson(String... items){ super(items, Asset.skin); //setItems(items); } @Override public SelectBoxJson read(Json json, JsonValue jv, Class arg2) { SelectBoxJson select = new SelectBoxJson(jv.getString("text").split(",")); select.setName(jv.getString("name")); select.setX(jv.getFloat("x")); select.setY(jv.getFloat("y")); select.setWidth(jv.getFloat("width")); select.setHeight(jv.getFloat("height")); select.setColor(Color.valueOf(jv.getString("color"))); return select; } @Override public void write(Json json, SelectBoxJson select, Class arg2) { json.writeObjectStart(); json.writeValue("class", select.getClass().getName()); json.writeValue("name", select.getName()); json.writeValue("x", select.getX()); json.writeValue("y", select.getY()); json.writeValue("width", select.getWidth()); json.writeValue("height", select.getHeight()); String items = ""; for(String s: select.getItems()) items+=s+","; json.writeValue("text", items); json.writeValue("color", select.getColor().toString()); json.writeObjectEnd(); } }