package joshie.progression.plugins.enchiridion.actions;
import com.google.gson.JsonObject;
import joshie.enchiridion.api.book.IButtonAction;
import joshie.progression.api.criteria.ICriteria;
import joshie.progression.handlers.APICache;
import joshie.progression.helpers.JSONHelper;
import joshie.progression.network.PacketClaimReward;
import joshie.progression.network.PacketHandler;
public class ActionClaimReward extends AbstractActionCriteria implements IButtonAction {
public boolean randomReward = false;
public int rewardPosition = 1;
public ActionClaimReward() {
super(null, "reward");
}
public ActionClaimReward(ICriteria criteria, boolean randomReward, int rewardPosition) {
super(criteria, "reward");
this.randomReward = randomReward;
this.rewardPosition = rewardPosition;
}
@Override
public IButtonAction copy() {
return copyAbstract(new ActionClaimReward(getCriteria(), randomReward, rewardPosition));
}
@Override
public IButtonAction create() {
return new ActionClaimReward(APICache.getCache(true).getRandomCriteria(), false, 1);
}
@Override
public boolean performAction() {
ICriteria criteria = getCriteria();
if (criteria != null) {
PacketHandler.sendToServer(new PacketClaimReward(criteria, rewardPosition - 1, randomReward));
return true;
}
return false;
}
@Override
public void readFromJson(JsonObject data) {
super.readFromJson(data);
randomReward = JSONHelper.getBoolean(data, "randomReward", false);
rewardPosition = JSONHelper.getInteger(data, "rewardPosition", 1);
}
@Override
public void writeToJson(JsonObject data) {
super.writeToJson(data);
JSONHelper.setBoolean(data, "randomReward", randomReward, false);
JSONHelper.setInteger(data, "rewardPosition", rewardPosition, 1);
}
}