mirror of
https://github.com/HMCL-dev/HMCL.git
synced 2025-09-10 04:16:02 -04:00
清理 GlobalConfig (#2903)
This commit is contained in:
parent
24fc436870
commit
20d93dd085
@ -21,9 +21,7 @@ import com.google.gson.*;
|
|||||||
import com.google.gson.annotations.JsonAdapter;
|
import com.google.gson.annotations.JsonAdapter;
|
||||||
import javafx.beans.InvalidationListener;
|
import javafx.beans.InvalidationListener;
|
||||||
import javafx.beans.Observable;
|
import javafx.beans.Observable;
|
||||||
import javafx.beans.property.BooleanProperty;
|
|
||||||
import javafx.beans.property.IntegerProperty;
|
import javafx.beans.property.IntegerProperty;
|
||||||
import javafx.beans.property.SimpleBooleanProperty;
|
|
||||||
import javafx.beans.property.SimpleIntegerProperty;
|
import javafx.beans.property.SimpleIntegerProperty;
|
||||||
import org.jackhuang.hmcl.util.javafx.ObservableHelper;
|
import org.jackhuang.hmcl.util.javafx.ObservableHelper;
|
||||||
import org.jackhuang.hmcl.util.javafx.PropertyUtils;
|
import org.jackhuang.hmcl.util.javafx.PropertyUtils;
|
||||||
@ -33,7 +31,7 @@ import java.lang.reflect.Type;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@JsonAdapter(GlobalConfig.Serializer.class)
|
@JsonAdapter(GlobalConfig.Serializer.class)
|
||||||
public class GlobalConfig implements Cloneable, Observable {
|
public final class GlobalConfig implements Cloneable, Observable {
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public static GlobalConfig fromJson(String json) throws JsonParseException {
|
public static GlobalConfig fromJson(String json) throws JsonParseException {
|
||||||
@ -47,17 +45,13 @@ public class GlobalConfig implements Cloneable, Observable {
|
|||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IntegerProperty agreementVersion = new SimpleIntegerProperty();
|
private final IntegerProperty agreementVersion = new SimpleIntegerProperty();
|
||||||
|
|
||||||
private IntegerProperty platformPromptVersion = new SimpleIntegerProperty();
|
private final IntegerProperty platformPromptVersion = new SimpleIntegerProperty();
|
||||||
|
|
||||||
private BooleanProperty multiplayerRelay = new SimpleBooleanProperty();
|
|
||||||
|
|
||||||
private IntegerProperty multiplayerAgreementVersion = new SimpleIntegerProperty(0);
|
|
||||||
|
|
||||||
private final Map<String, Object> unknownFields = new HashMap<>();
|
private final Map<String, Object> unknownFields = new HashMap<>();
|
||||||
|
|
||||||
private transient ObservableHelper helper = new ObservableHelper(this);
|
private final transient ObservableHelper helper = new ObservableHelper(this);
|
||||||
|
|
||||||
public GlobalConfig() {
|
public GlobalConfig() {
|
||||||
PropertyUtils.attachListener(this, helper);
|
PropertyUtils.attachListener(this, helper);
|
||||||
@ -106,37 +100,10 @@ public class GlobalConfig implements Cloneable, Observable {
|
|||||||
this.platformPromptVersion.set(platformPromptVersion);
|
this.platformPromptVersion.set(platformPromptVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isMultiplayerRelay() {
|
public static final class Serializer implements JsonSerializer<GlobalConfig>, JsonDeserializer<GlobalConfig> {
|
||||||
return multiplayerRelay.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
public BooleanProperty multiplayerRelayProperty() {
|
|
||||||
return multiplayerRelay;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMultiplayerRelay(boolean multiplayerRelay) {
|
|
||||||
this.multiplayerRelay.set(multiplayerRelay);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getMultiplayerAgreementVersion() {
|
|
||||||
return multiplayerAgreementVersion.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
public IntegerProperty multiplayerAgreementVersionProperty() {
|
|
||||||
return multiplayerAgreementVersion;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMultiplayerAgreementVersion(int multiplayerAgreementVersion) {
|
|
||||||
this.multiplayerAgreementVersion.set(multiplayerAgreementVersion);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class Serializer implements JsonSerializer<GlobalConfig>, JsonDeserializer<GlobalConfig> {
|
|
||||||
private static final Set<String> knownFields = new HashSet<>(Arrays.asList(
|
private static final Set<String> knownFields = new HashSet<>(Arrays.asList(
|
||||||
"agreementVersion",
|
"agreementVersion",
|
||||||
"platformPromptVersion",
|
"platformPromptVersion"
|
||||||
"multiplayerToken",
|
|
||||||
"multiplayerRelay",
|
|
||||||
"multiplayerAgreementVersion"
|
|
||||||
));
|
));
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -148,8 +115,6 @@ public class GlobalConfig implements Cloneable, Observable {
|
|||||||
JsonObject jsonObject = new JsonObject();
|
JsonObject jsonObject = new JsonObject();
|
||||||
jsonObject.add("agreementVersion", context.serialize(src.getAgreementVersion()));
|
jsonObject.add("agreementVersion", context.serialize(src.getAgreementVersion()));
|
||||||
jsonObject.add("platformPromptVersion", context.serialize(src.getPlatformPromptVersion()));
|
jsonObject.add("platformPromptVersion", context.serialize(src.getPlatformPromptVersion()));
|
||||||
jsonObject.add("multiplayerRelay", context.serialize(src.isMultiplayerRelay()));
|
|
||||||
jsonObject.add("multiplayerAgreementVersion", context.serialize(src.getMultiplayerAgreementVersion()));
|
|
||||||
for (Map.Entry<String, Object> entry : src.unknownFields.entrySet()) {
|
for (Map.Entry<String, Object> entry : src.unknownFields.entrySet()) {
|
||||||
jsonObject.add(entry.getKey(), context.serialize(entry.getValue()));
|
jsonObject.add(entry.getKey(), context.serialize(entry.getValue()));
|
||||||
}
|
}
|
||||||
@ -166,8 +131,6 @@ public class GlobalConfig implements Cloneable, Observable {
|
|||||||
GlobalConfig config = new GlobalConfig();
|
GlobalConfig config = new GlobalConfig();
|
||||||
config.setAgreementVersion(Optional.ofNullable(obj.get("agreementVersion")).map(JsonElement::getAsInt).orElse(0));
|
config.setAgreementVersion(Optional.ofNullable(obj.get("agreementVersion")).map(JsonElement::getAsInt).orElse(0));
|
||||||
config.setPlatformPromptVersion(Optional.ofNullable(obj.get("platformPromptVersion")).map(JsonElement::getAsInt).orElse(0));
|
config.setPlatformPromptVersion(Optional.ofNullable(obj.get("platformPromptVersion")).map(JsonElement::getAsInt).orElse(0));
|
||||||
config.setMultiplayerRelay(Optional.ofNullable(obj.get("multiplayerRelay")).map(JsonElement::getAsBoolean).orElse(false));
|
|
||||||
config.setMultiplayerAgreementVersion(Optional.ofNullable(obj.get("multiplayerAgreementVersion")).map(JsonElement::getAsInt).orElse(0));
|
|
||||||
|
|
||||||
for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
|
for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
|
||||||
if (!knownFields.contains(entry.getKey())) {
|
if (!knownFields.contains(entry.getKey())) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user