cleaning up comments and old code

This commit is contained in:
Adam 2022-01-09 14:07:19 +01:00
parent d28088be2d
commit 7486961fc2
5 changed files with 3 additions and 80 deletions

View file

@ -40,12 +40,3 @@ data class Colour(
fun isPercentage(): Boolean = !isDecimal()
}
//@Serializable
//@SerialName("FactorioTiles")
//data class FactorioTiles(
// val tiles: List<FactorioTile>,
//) : FactorioObjectData() {
// @Transient
// override val objectName: String = "FactorioTiles"
//}

View file

@ -8,15 +8,12 @@ import kotlinx.serialization.Transient
@Serializable
//@SerialName("CONFIG")
data class FactorioConfigurationUpdate(
override val modVersion: String,
val factorioData: FactorioGameDataUpdate,
val allMods: List<FactorioModInfo>,
val prototypes: List<FactorioPrototype>,
) : KafkatorioPacket() {
// @Transient
@EncodeDefault
override val packetType = PacketType.CONFIG
}

View file

@ -2,11 +2,9 @@ package dev.adamko.kafkatorio.events.schema
import kotlinx.serialization.EncodeDefault
import kotlinx.serialization.Required
import kotlinx.serialization.Serializable
@Serializable
//@SerialName("EVENT")
data class FactorioEvent(
override val modVersion: String,
/** the initial Factorio event (`defines.events`) trigger */
@ -15,42 +13,6 @@ data class FactorioEvent(
val tick: UInt,
val data: FactorioObjectData,
) : KafkatorioPacket() {
// @Transient
@EncodeDefault
override val packetType: PacketType = PacketType.EVENT
// companion object {
// val kxsModule = SerializersModule {
// contextual(FactorioEvent::class) { types -> serializer(types[0]) }
// }
// }
}
//object FactorioEventSerializer : JsonContentPolymorphicSerializer<FactorioEvent<*>>(
// FactorioEvent::class
//) {
//
// override fun selectDeserializer(element: JsonElement): DeserializationStrategy<out FactorioEvent<*>> {
//
// val objectName: ObjectName? = element
// .jsonObject[FactorioEvent<*>::data.name]
// ?.jsonObject
// ?.get(FactorioObjectData.discriminatorKey)
// ?.jsonPrimitive
// ?.contentOrNull
// ?.let(ObjectName::valueOf)
//
// val sub = when (objectName) {
// ObjectName.LuaPlayer -> PlayerData.serializer()
// ObjectName.LuaEntity -> EntityData.serializer()
// ObjectName.LuaSurface -> SurfaceData.serializer()
// ObjectName.MapChunk -> MapChunk.serializer()
// ObjectName.LuaTile -> MapTile.serializer()
// ObjectName.ConsoleChatMessage -> ConsoleChatMessage.serializer()
// null -> throw IllegalStateException("unknown type $objectName")
// }
// return FactorioEvent.serializer(sub)
// }
//}

View file

@ -3,16 +3,13 @@ package dev.adamko.kafkatorio.events.schema
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.EncodeDefault
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.JsonClassDiscriminator
import kotlinx.serialization.json.JsonContentPolymorphicSerializer
import kotlinx.serialization.json.JsonElement
import kotlinx.serialization.json.contentOrNull
import kotlinx.serialization.json.jsonObject
import kotlinx.serialization.json.jsonPrimitive
//@Serializable
@Serializable(with = FactorioObjectDataSerializer::class)
//@JsonClassDiscriminator(FactorioObjectData.discriminatorKey)
sealed class FactorioObjectData {
/** @see FactorioObjectData.discriminatorKey */
@ -44,19 +41,12 @@ sealed class FactorioObjectData {
LuaTile,
ConsoleChatMessage,
}
companion object {
/** The [JsonClassDiscriminator] for [FactorioEvent] */
const val discriminatorKey: String = "objectName"
}
}
object FactorioObjectDataSerializer : JsonContentPolymorphicSerializer<FactorioObjectData>(
FactorioObjectData::class
) {
private val key =
FactorioObjectData::objectName.name
// "objectName"
private val key = FactorioObjectData::objectName.name
override fun selectDeserializer(element: JsonElement): DeserializationStrategy<out FactorioObjectData> {
@ -83,7 +73,6 @@ object FactorioObjectDataSerializer : JsonContentPolymorphicSerializer<FactorioO
@Serializable
//@SerialName("LuaPlayer")
data class PlayerData(
@Serializable(with = ListAsObjectSerializer::class)
val associatedCharactersUnitNumbers: List<UInt>,
@ -99,7 +88,6 @@ data class PlayerData(
}
@Serializable
//@SerialName("LuaEntity")
data class EntityData(
val active: Boolean,
val health: Double?,
@ -116,7 +104,6 @@ data class EntityData(
}
@Serializable
//@SerialName("LuaSurface")
data class SurfaceData(
val daytime: Double,
val index: UInt,
@ -128,7 +115,6 @@ data class SurfaceData(
/** Quasi-object. This isn't a Factorio Lua type, but a helpful collection of [MapTile]s */
@Serializable
//@SerialName("MapChunk")
data class MapChunk(
val tiles: List<MapTile>,
) : FactorioObjectData() {
@ -137,7 +123,6 @@ data class MapChunk(
}
@Serializable
//@SerialName("LuaTile")
data class MapTile(
val prototypeName: String,
val position: PositionData,
@ -148,7 +133,6 @@ data class MapTile(
}
@Serializable
//@SerialName("ConsoleChatMessage")
data class ConsoleChatMessage(
val authorPlayerIndex: UInt?,
val content: String,

View file

@ -2,7 +2,6 @@ package dev.adamko.kafkatorio.events.schema;
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.EncodeDefault
import kotlinx.serialization.Required
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.JsonContentPolymorphicSerializer
import kotlinx.serialization.json.JsonElement
@ -10,9 +9,8 @@ import kotlinx.serialization.json.contentOrNull
import kotlinx.serialization.json.jsonObject
import kotlinx.serialization.json.jsonPrimitive
//@Serializable
@Serializable(with = KafkatorioPacketSerializer::class)
//@JsonClassDiscriminator("packetType")
sealed class KafkatorioPacket {
/** Schema versioning */
abstract val modVersion: String
@ -23,21 +21,12 @@ sealed class KafkatorioPacket {
EVENT,
CONFIG,
}
companion object {
// val kxsModule = SerializersModule {
// polym
// }
}
}
object KafkatorioPacketSerializer : JsonContentPolymorphicSerializer<KafkatorioPacket>(
KafkatorioPacket::class
) {
private val key =
KafkatorioPacket::packetType.name
// "packetType"
private val key = KafkatorioPacket::packetType.name
override fun selectDeserializer(element: JsonElement): DeserializationStrategy<out KafkatorioPacket> {