package dmillerw.quadrum.common.lib.data; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonParseException; import java.lang.reflect.Type; import java.util.Map; /** * @author dmillerw */ public class EffectDeserializer implements JsonDeserializer<Effect> { @Override public Effect deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { Effect effect = new Effect(); for (Map.Entry<String, JsonElement> entry : json.getAsJsonObject().entrySet()) { if (entry.getKey().equalsIgnoreCase("id")) { effect.id = entry.getValue().getAsInt(); } else if (entry.getKey().equalsIgnoreCase("probability")) { effect.probability = entry.getValue().getAsFloat(); } else if (entry.getKey().equalsIgnoreCase("duration")) { effect.duration = entry.getValue().getAsInt(); } else if (entry.getKey().equalsIgnoreCase("amplifier")) { effect.amplifier = entry.getValue().getAsInt(); } } return effect; } }