11package com.lambda.config.serializer.gui
22
33import com.google.gson.*
4- import com.lambda.gui.impl.clickgui.windows.TagWindow
4+ import com.lambda.gui.impl.clickgui.LambdaClickGui
5+ import com.lambda.gui.impl.clickgui.windows.tag.TagWindow
56import com.lambda.module.tag.ModuleTag
67import com.lambda.util.math.Vec2d
78import java.lang.reflect.Type
@@ -13,12 +14,7 @@ object TagWindowSerializer : JsonSerializer<TagWindow>, JsonDeserializer<TagWind
1314 context : JsonSerializationContext ? ,
1415 ): JsonElement = src?.let {
1516 JsonObject ().apply {
16- addProperty(" title" , it.title)
17- add(" tags" , JsonArray ().apply {
18- it.tags.forEach { tag ->
19- add(tag.name)
20- }
21- })
17+ addProperty(" tag" , it.tag.name)
2218 addProperty(" width" , it.width)
2319 addProperty(" height" , it.height)
2420 addProperty(" isOpen" , it.isOpen)
@@ -33,15 +29,10 @@ object TagWindowSerializer : JsonSerializer<TagWindow>, JsonDeserializer<TagWind
3329 json : JsonElement ? ,
3430 typeOfT : Type ? ,
3531 context : JsonDeserializationContext ? ,
36- ) = json?.asJsonObject?.let {
37- TagWindow (
38- tags = it[" tags" ].asJsonArray.map { tag ->
39- ModuleTag (tag.asString)
40- }.toSet(),
41- title = it[" title" ].asString,
42- width = it[" width" ].asDouble,
32+ ) = json?.asJsonObject?.let {
33+ TagWindow (ModuleTag (it[" tag" ].asString), LambdaClickGui ).apply {
34+ width = it[" width" ].asDouble
4335 height = it[" height" ].asDouble
44- ).apply {
4536 isOpen = it[" isOpen" ].asBoolean
4637 position = Vec2d (
4738 it[" position" ].asJsonArray[0 ].asDouble,
0 commit comments