X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Fmodel%2Fdto%2FGameItemsDto.kt;h=aef3a13a2cc0011ebadebbf24254ee3bc5555310;hb=6bb7e1d207c640ff3b8e41ce2fb1c6203985bdb1;hp=63229b390578e87b6bebfeb1c3b74b2df700933f;hpb=63ffd8af5e9788f36fc75b6d5c29ae525eb74692;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/model/dto/GameItemsDto.kt b/core/src/ru/deadsoftware/cavedroid/game/model/dto/GameItemsDto.kt index 63229b3..aef3a13 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/model/dto/GameItemsDto.kt +++ b/core/src/ru/deadsoftware/cavedroid/game/model/dto/GameItemsDto.kt @@ -8,43 +8,4 @@ import kotlinx.serialization.json.* data class GameItemsDto( @SerialName("blocks") val blocks: Map, @SerialName("items") val items: Map, -) { - object GameItemsDtoJsonSerializer : JsonTransformingSerializer(GameItemsDto.serializer()) { - private val defaultBlockValuesEqualKeyFieldNames = listOf("drop", "texture") - private val defaultItemValuesEqualKeyFieldNames = listOf("name", "texture") - - override fun transformDeserialize(element: JsonElement): JsonElement { - val root = element.jsonObject - val blocks = root["blocks"]!!.jsonObject - val items = root["items"]!!.jsonObject - - return buildJsonObject { - putJsonObject("blocks") { - blocks.forEach { (key, blockObj) -> - putJsonObject(key) { - defaultBlockValuesEqualKeyFieldNames.forEach { fieldName -> - put(fieldName, key) - } - blockObj.jsonObject.forEach { (prop, propValue) -> - put(prop, propValue) - } - } - } - } - - putJsonObject("items") { - items.forEach { (key, itemObj) -> - putJsonObject(key) { - defaultItemValuesEqualKeyFieldNames.forEach { fieldName -> - put(fieldName, key) - } - itemObj.jsonObject.forEach { (prop, propValue) -> - put(prop, propValue) - } - } - } - } - } - } - } -} \ No newline at end of file +) \ No newline at end of file