diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/json/factory/RGBAColorTypeAdapter.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/json/factory/RGBAColorTypeAdapter.kt index 4a02a8e1..c395af91 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/json/factory/RGBAColorTypeAdapter.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/json/factory/RGBAColorTypeAdapter.kt @@ -1,5 +1,6 @@ package ru.dbotthepony.kstarbound.json.factory +import com.google.gson.JsonSyntaxException import com.google.gson.TypeAdapter import com.google.gson.stream.JsonReader import com.google.gson.stream.JsonToken @@ -29,6 +30,12 @@ object RGBAColorTypeAdapter : TypeAdapter() { if (`in`.consumeNull()) return null + if (`in`.peek() == JsonToken.STRING) { + val str = `in`.nextString() + val color = RGBAColor.fromHexStringRGB(str) ?: throw JsonSyntaxException("Not a valid hex color: $str") + return color + } + `in`.beginArray() val red = `in`.nextInt()