cleaning up comments and old code
This commit is contained in:
parent
d28088be2d
commit
7486961fc2
5 changed files with 3 additions and 80 deletions
|
|
@ -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"
|
|
||||||
//}
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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)
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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> {
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue