In-depth serialization improvement, fixes Barbarian Camps revealed by Honor not showing immediately in multiplayer

* Fix Barbarian Camp Spawned notification not revealing the camp on the map in multiplayer

* Fix lastSeenImprovement not being cloned

* Use HashMapVector2 in BarbarianManager

* Fix value not having its class written out for proper deserializing

* Refactor: various code improvements
This commit is contained in:
Timo T
2022-05-08 12:35:41 +02:00
committed by GitHub
parent 569b51cb27
commit 86d5011da1
27 changed files with 206 additions and 94 deletions

View File

@ -1,6 +1,7 @@
package com.unciv.testing
import com.unciv.UncivGame
import com.unciv.json.json
import com.unciv.logic.GameInfo
import com.unciv.logic.GameSaver
import com.unciv.logic.GameStarter
@ -83,7 +84,7 @@ class SerializationTests {
@Test
fun canSerializeGame() {
val json = try {
GameSaver.json().toJson(game)
json().toJson(game)
} catch (ex: Exception) {
""
}

View File

@ -1,7 +1,8 @@
package com.unciv.testing
import com.badlogic.gdx.utils.Array
import com.unciv.JsonParser
import com.unciv.json.fromJsonFile
import com.unciv.json.json
import com.unciv.models.Tutorial
import org.junit.Assert.assertTrue
import org.junit.Test
@ -16,7 +17,7 @@ class TutorialTranslationTests {
@Test
fun tutorialsFileIsSerializable() {
val map = JsonParser().getFromJson(LinkedHashMap<String, Array<String>>().javaClass, "jsons/Tutorials.json")
val map = json().fromJsonFile(LinkedHashMap<String, Array<String>>().javaClass, "jsons/Tutorials.json")
assertTrue("The number of items from Tutorials.json must match to the enum Tutorial",
map.size == tutorialCount)