From cf202c28a4db0382e18044a372f7c8ab642563d6 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Fri, 9 Aug 2024 10:28:00 +0300 Subject: [PATCH] Fix automatedRoadConnectionPath serialization errors (#12097) --- core/src/com/unciv/json/UncivJson.kt | 2 -- core/src/com/unciv/json/Vector2Serializer.kt | 35 ------------------- .../com/unciv/logic/map/mapunit/MapUnit.kt | 2 ++ 3 files changed, 2 insertions(+), 37 deletions(-) delete mode 100644 core/src/com/unciv/json/Vector2Serializer.kt diff --git a/core/src/com/unciv/json/UncivJson.kt b/core/src/com/unciv/json/UncivJson.kt index c592d756a8..a6d8166ec3 100644 --- a/core/src/com/unciv/json/UncivJson.kt +++ b/core/src/com/unciv/json/UncivJson.kt @@ -2,7 +2,6 @@ package com.unciv.json import com.badlogic.gdx.Gdx import com.badlogic.gdx.files.FileHandle -import com.badlogic.gdx.math.Vector2 import com.badlogic.gdx.utils.Json import com.badlogic.gdx.utils.JsonWriter import com.badlogic.gdx.utils.SerializationException @@ -23,7 +22,6 @@ fun json() = Json(JsonWriter.OutputType.json).apply { setSerializer(Duration::class.java, DurationSerializer()) setSerializer(KeyCharAndCode::class.java, KeyCharAndCode.Serializer()) - setSerializer(Vector2::class.java, Vector2Serializer()) } /** diff --git a/core/src/com/unciv/json/Vector2Serializer.kt b/core/src/com/unciv/json/Vector2Serializer.kt deleted file mode 100644 index eceab8e7f1..0000000000 --- a/core/src/com/unciv/json/Vector2Serializer.kt +++ /dev/null @@ -1,35 +0,0 @@ -package com.unciv.json - -import com.badlogic.gdx.math.Vector2 -import com.badlogic.gdx.utils.Json -import com.badlogic.gdx.utils.Json.Serializer -import com.badlogic.gdx.utils.JsonValue - -class Vector2Serializer : Serializer { - override fun write(json: Json, vector2: Vector2?, knownType: Class<*>?) { - - if (vector2 == null) json.writeValue(null) - else { - // NEW vector serialization - currently disabled -// json.writeValue("${vector2.x.toInt()}/${vector2.y.toInt()}") - - // OLD vector serialization - deprecated 4.12.18 - json.writeObjectStart() - json.writeFields(vector2) - json.writeObjectEnd() - } - } - - override fun read(json: Json, jsonData: JsonValue, knownType: Class<*>?): Vector2? { - if (jsonData.isNull) return null // Not entirely sure it's necessary - if (jsonData.isString) { - val split = jsonData.asString().split("/") - return Vector2(split[0].toFloat(), split[1].toFloat()) - } - - // OLD vector serialization - val vector = Vector2() - json.readFields(vector, jsonData) - return vector - } -} diff --git a/core/src/com/unciv/logic/map/mapunit/MapUnit.kt b/core/src/com/unciv/logic/map/mapunit/MapUnit.kt index 3e2e6f66d5..d0430b9f69 100644 --- a/core/src/com/unciv/logic/map/mapunit/MapUnit.kt +++ b/core/src/com/unciv/logic/map/mapunit/MapUnit.kt @@ -68,6 +68,8 @@ class MapUnit : IsPartOfGameInfoSerialization { var escorting: Boolean = false var automatedRoadConnectionDestination: Vector2? = null + // Temp disable, since this data broke saves + @Transient var automatedRoadConnectionPath: List? = null var attacksThisTurn = 0