aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/config')
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/config/guiconfig/PanelDefaultParameterConfig.java3
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/config/types/TCStringList.java34
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/config/types/TypeConverterRegistry.java1
3 files changed, 38 insertions, 0 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/config/guiconfig/PanelDefaultParameterConfig.java b/src/main/java/kr/syeyoung/dungeonsguide/config/guiconfig/PanelDefaultParameterConfig.java
index 72411e62..d0d1e984 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/config/guiconfig/PanelDefaultParameterConfig.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/config/guiconfig/PanelDefaultParameterConfig.java
@@ -72,6 +72,9 @@ public class PanelDefaultParameterConfig extends MPanel {
@Override
public void mouseScrolled(int absMouseX, int absMouseY, int relMouseX0, int relMouseY0, int scrollAmount) {
+ for (MPanel childComponent : getChildComponents()) {
+ if (!(childComponent instanceof MParameter) && childComponent.getBounds().contains(relMouseX0, relMouseY0)) return;
+ }
if (scrollAmount > 0) offsetY -= 20;
else if (scrollAmount < 0) offsetY += 20;
if (offsetY < 0) offsetY = 0;
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/config/types/TCStringList.java b/src/main/java/kr/syeyoung/dungeonsguide/config/types/TCStringList.java
new file mode 100644
index 00000000..0c8bce3d
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/config/types/TCStringList.java
@@ -0,0 +1,34 @@
+package kr.syeyoung.dungeonsguide.config.types;
+
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonPrimitive;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Stream;
+
+public class TCStringList implements TypeConverter<List<String>> {
+ @Override
+ public String getTypeString() {
+ return "stringlist";
+ }
+
+ @Override
+ public List<String> deserialize(JsonElement element) {
+ List<String> strList = new ArrayList<>();
+ for (JsonElement jsonElement : element.getAsJsonArray()) {
+ strList.add(jsonElement.getAsString());
+ }
+ return strList;
+ }
+
+ @Override
+ public JsonElement serialize(List<String> element) {
+ JsonArray jsonElements = new JsonArray();
+ for (String s : element) {
+ jsonElements.add(new JsonPrimitive(s));
+ }
+ return jsonElements;
+ }
+}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/config/types/TypeConverterRegistry.java b/src/main/java/kr/syeyoung/dungeonsguide/config/types/TypeConverterRegistry.java
index b100d62f..cce82ea3 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/config/types/TypeConverterRegistry.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/config/types/TypeConverterRegistry.java
@@ -30,5 +30,6 @@ public class TypeConverterRegistry {
register(new TCAColor());
register(new TCTextStyleList());
register(new TCTextStyle());
+ register(new TCStringList());
}
}