package sink.json; import sink.core.Asset; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.scenes.scene2d.ui.Dialog; import com.badlogic.gdx.utils.Json; import com.badlogic.gdx.utils.JsonValue; public class DialogJson extends Dialog implements Json.Serializer<DialogJson> { public DialogJson(){ super("", Asset.skin); } public DialogJson(String title){ super(title, Asset.skin); } @Override public DialogJson read(Json json, JsonValue jv, Class arg2) { DialogJson dialog = new DialogJson(jv.getString("title")); dialog.setName(jv.getString("name")); dialog.setX(jv.getFloat("x")); dialog.setY(jv.getFloat("y")); dialog.setWidth(jv.getFloat("width")); dialog.setHeight(jv.getFloat("height")); dialog.setColor(Color.valueOf(jv.getString("color"))); dialog.setModal(jv.getBoolean("modal")); dialog.setMovable(jv.getBoolean("move")); dialog.setResizable(jv.getBoolean("resize")); return dialog; } @Override public void write(Json json, DialogJson dialog, Class arg2) { json.writeObjectStart(); json.writeValue("class", dialog.getClass().getName()); json.writeValue("name", dialog.getName()); json.writeValue("x", dialog.getX()); json.writeValue("y", dialog.getY()); json.writeValue("width", dialog.getWidth()); json.writeValue("height", dialog.getHeight()); json.writeValue("title", dialog.getTitle()); json.writeValue("modal", dialog.isModal()); json.writeValue("move", dialog.isMovable()); json.writeValue("resize", dialog.isResizable()); json.writeValue("color", dialog.getColor().toString()); json.writeObjectEnd(); } }