WiredTriggerScoreAchieved now saves as json

This commit is contained in:
Remco 2021-01-04 10:30:19 -05:00
parent eaeafd21ad
commit 09e2916310

View File

@ -37,14 +37,23 @@ public class WiredTriggerScoreAchieved extends InteractionWiredTrigger {
@Override
public String getWiredData() {
return this.score + "";
return WiredHandler.getGsonBuilder().create().toJson(new JsonData(
this.score
));
}
@Override
public void loadWiredData(ResultSet set, Room room) throws SQLException {
try {
this.score = Integer.valueOf(set.getString("wired_data"));
} catch (Exception e) {
String wiredData = set.getString("wired_data");
if (wiredData.startsWith("{")) {
JsonData data = WiredHandler.getGsonBuilder().create().fromJson(wiredData, JsonData.class);
this.score = data.score;
} else {
try {
this.score = Integer.valueOf(wiredData);
} catch (Exception e) {
}
}
}
@ -85,4 +94,12 @@ public class WiredTriggerScoreAchieved extends InteractionWiredTrigger {
public boolean isTriggeredByRoomUnit() {
return true;
}
static class JsonData {
int score;
public JsonData(int score) {
this.score = score;
}
}
}