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() 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 @Serializable
//@SerialName("CONFIG")
data class FactorioConfigurationUpdate( data class FactorioConfigurationUpdate(
override val modVersion: String, override val modVersion: String,
val factorioData: FactorioGameDataUpdate, val factorioData: FactorioGameDataUpdate,
val allMods: List<FactorioModInfo>, val allMods: List<FactorioModInfo>,
val prototypes: List<FactorioPrototype>, val prototypes: List<FactorioPrototype>,
) : KafkatorioPacket() { ) : KafkatorioPacket() {
// @Transient
@EncodeDefault @EncodeDefault
override val packetType = PacketType.CONFIG override val packetType = PacketType.CONFIG
} }

View file

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

View file

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