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