- Containers.kt 实现 lt/pt/zt/alias 四种布局,覆盖 ModelService 4 条容器命令 - 生成 ModelRegistry.ByModelId,供 pt 项按 modelId 展开 - 短命令:_setModelCommandAlias 解码后写入别名表,记录链可按别名继续解 - 下行注册补到 681 条;railgun-battle 400 帧复跑仍为 399/399 回编码一致
81 lines
2.7 KiB
Kotlin
81 lines
2.7 KiB
Kotlin
// 本文件由 TankiOffline/tools/GenerateProtocol.py 生成。
|
||
// 允许手改;重跑生成器会覆盖。类型口径见 3DTank/docs/KtRebuild_Plan.md。
|
||
package Net.Generated
|
||
|
||
import Core.ByteReader
|
||
import Core.ByteWriter
|
||
import Core.NullmapCursor
|
||
import Core.NullmapWriter
|
||
import Core.Vector3
|
||
import Net.Wire.ModelCodec
|
||
import Net.Wire.Wire
|
||
import Net.Wire.ErasedCodec
|
||
import Net.Protocol.TankStateCodec
|
||
import Net.Protocol.LtCodec
|
||
import Net.Protocol.PtCodec
|
||
import Net.Protocol.ZtCodec
|
||
import Net.Protocol.AliasCodec
|
||
|
||
// SocialNetworkParametersCC|module_67222
|
||
data class SocialNetworkParametersCC(
|
||
val CanOpenExternalLinks: Boolean,
|
||
val FailedRedirectUrl: String,
|
||
val HasAccountBinding: Boolean,
|
||
val HasClientPaymentAction: Boolean,
|
||
val HasOwnPaymentSystem: Boolean,
|
||
val HasSocialFunction: Boolean,
|
||
)
|
||
|
||
object SocialNetworkParametersCCCodec : ModelCodec<SocialNetworkParametersCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): SocialNetworkParametersCC {
|
||
val CanOpenExternalLinks = R.ReadBool()
|
||
val FailedRedirectUrl = R.ReadString()
|
||
val HasAccountBinding = R.ReadBool()
|
||
val HasClientPaymentAction = R.ReadBool()
|
||
val HasOwnPaymentSystem = R.ReadBool()
|
||
val HasSocialFunction = R.ReadBool()
|
||
return SocialNetworkParametersCC(CanOpenExternalLinks, FailedRedirectUrl, HasAccountBinding, HasClientPaymentAction, HasOwnPaymentSystem, HasSocialFunction)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: SocialNetworkParametersCC) {
|
||
W.WriteBool(V.CanOpenExternalLinks)
|
||
W.WriteString(V.FailedRedirectUrl)
|
||
W.WriteBool(V.HasAccountBinding)
|
||
W.WriteBool(V.HasClientPaymentAction)
|
||
W.WriteBool(V.HasOwnPaymentSystem)
|
||
W.WriteBool(V.HasSocialFunction)
|
||
}
|
||
}
|
||
|
||
// Q|module_67222
|
||
data class Q(
|
||
val Field1: Int,
|
||
)
|
||
|
||
object QCodec : ModelCodec<Q> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): Q {
|
||
val Field1 = R.ReadInt()
|
||
return Q(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: Q) {
|
||
W.WriteInt(V.Field1)
|
||
}
|
||
}
|
||
|
||
// LoginParameters|module_67222
|
||
data class LoginParameters(
|
||
val Parameters: Map<String, String>,
|
||
)
|
||
|
||
object LoginParametersCodec : ModelCodec<LoginParameters> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): LoginParameters {
|
||
val Parameters = Wire.ReadMap(R, { R.ReadString() }, { R.ReadString() })
|
||
return LoginParameters(Parameters)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: LoginParameters) {
|
||
Wire.WriteMap(W, V.Parameters, { W.WriteString(it) }, { W.WriteString(it) })
|
||
}
|
||
}
|