mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-10-13 10:16:07 +00:00
test[GdScript]: gds test
This commit is contained in:
1 parent
6fbebb9746
commit
45a5f81621
11 files changed
+14106
-14054
No files matched your search
+4
-4
@@ -213,10 +213,10 @@ public class CodeGenerateGdScript implements ICodeGenerate {
|
||||
}
|
||||
}
|
||||
|
||||
private void createTemplateFile() {
|
||||
var byteBufferFile = new File(StringUtils.format("{}/{}", protocolOutputPath, "ByteBuffer.gd"));
|
||||
var byteBufferTemplate = ClassUtils.getFileFromClassPathToString("gdscript/ByteBuffer.gd");
|
||||
FileUtils.writeStringToFile(byteBufferFile, StringUtils.format(byteBufferTemplate, protocolOutputRootPath), false);
|
||||
private void createTemplateFile() throws IOException {
|
||||
var createFile = new File(StringUtils.format("{}/{}", protocolOutputPath, "ByteBuffer.gd"));
|
||||
var fileInputStream = ClassUtils.getFileFromClassPath("gdscript/ByteBuffer.gd");
|
||||
FileUtils.writeInputStreamToFile(createFile, fileInputStream);
|
||||
}
|
||||
|
||||
private String protocol_class(ProtocolRegistration registration) {
|
||||
|
||||
@@ -82,6 +82,7 @@ func _ready():
|
||||
|
||||
|
||||
func test():
|
||||
ProtocolManager.initProtocol()
|
||||
var buffer = ByteBuffer.new()
|
||||
|
||||
var filePath = "res://compatible/normal-out-inner-inner-compatible.bytes"
|
||||
@@ -92,7 +93,7 @@ func test():
|
||||
var file = FileAccess.open(filePath, FileAccess.READ)
|
||||
|
||||
var poolByteArray = file.get_buffer(file.get_length())
|
||||
buffer.writePackedByteArray(poolByteArray)
|
||||
buffer.writeBytes(poolByteArray)
|
||||
|
||||
var packet = ProtocolManager.read(buffer)
|
||||
print(packet)
|
||||
|
||||
@@ -67,15 +67,18 @@ func getReadOffset() -> int:
|
||||
func isReadable() -> bool:
|
||||
return writeOffset > readOffset
|
||||
|
||||
func toBytes() -> PackedByteArray:
|
||||
return buffer.data_array.slice(0, writeOffset)
|
||||
|
||||
# -------------------------------------------------write/read-------------------------------------------------
|
||||
func writePackedByteArray(value: PackedByteArray):
|
||||
func writeBytes(value: PackedByteArray):
|
||||
var length: int = value.size()
|
||||
buffer.put_partial_data(value)
|
||||
writeOffset += length
|
||||
pass
|
||||
|
||||
func toPackedByteArray() -> PackedByteArray:
|
||||
return buffer.data_array.slice(0, writeOffset)
|
||||
func readBytes(length: int) -> PackedByteArray:
|
||||
return buffer.data_array.slice(0, length)
|
||||
|
||||
func writeBool(value: bool) -> void:
|
||||
var byte: int = 1 if value else 0
|
||||
@@ -306,9 +309,6 @@ func readPacket(protocolId):
|
||||
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
|
||||
return protocolRegistration.read(self)
|
||||
|
||||
func newInstance(protocolId: int):
|
||||
return ProtocolManager.newInstance(protocolId)
|
||||
|
||||
func writeBoolArray(array):
|
||||
if (array == null):
|
||||
writeInt(0)
|
||||
@@ -457,7 +457,8 @@ func writePacketArray(array, protocolId):
|
||||
|
||||
func readPacketArray(protocolId):
|
||||
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
|
||||
var array = Array([], typeof(protocolRegistration), StringName("RefCounted"), protocolRegistration)
|
||||
var protocol = ProtocolManager.getProtocolClass(protocolId)
|
||||
var array = Array([], typeof(protocol), StringName("RefCounted"), protocol)
|
||||
var size = readInt()
|
||||
if (size > 0):
|
||||
for index in range(size):
|
||||
|
||||
@@ -6,25 +6,42 @@ const ObjectA = preload("res://zfoogd/packet/ObjectA.gd")
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd")
|
||||
const SimpleObject = preload("res://zfoogd/packet/SimpleObject.gd")
|
||||
|
||||
const protocols: Dictionary = {
|
||||
0: EmptyObject,
|
||||
1: VeryBigObject,
|
||||
100: ComplexObject,
|
||||
101: NormalObject,
|
||||
102: ObjectA,
|
||||
103: ObjectB,
|
||||
104: SimpleObject
|
||||
}
|
||||
static var protocols: Dictionary = {}
|
||||
static var protocolClassMap: Dictionary = {}
|
||||
static var protocolIdMap: Dictionary = {}
|
||||
|
||||
static func initProtocol():
|
||||
protocols[0] = EmptyObject.EmptyObjectRegistration.new()
|
||||
protocolClassMap[0] = EmptyObject.EmptyObject
|
||||
protocolIdMap[EmptyObject.EmptyObject] = 0
|
||||
protocols[1] = VeryBigObject.VeryBigObjectRegistration.new()
|
||||
protocolClassMap[1] = VeryBigObject.VeryBigObject
|
||||
protocolIdMap[VeryBigObject.VeryBigObject] = 1
|
||||
protocols[100] = ComplexObject.ComplexObjectRegistration.new()
|
||||
protocolClassMap[100] = ComplexObject.ComplexObject
|
||||
protocolIdMap[ComplexObject.ComplexObject] = 100
|
||||
protocols[101] = NormalObject.NormalObjectRegistration.new()
|
||||
protocolClassMap[101] = NormalObject.NormalObject
|
||||
protocolIdMap[NormalObject.NormalObject] = 101
|
||||
protocols[102] = ObjectA.ObjectARegistration.new()
|
||||
protocolClassMap[102] = ObjectA.ObjectA
|
||||
protocolIdMap[ObjectA.ObjectA] = 102
|
||||
protocols[103] = ObjectB.ObjectBRegistration.new()
|
||||
protocolClassMap[103] = ObjectB.ObjectB
|
||||
protocolIdMap[ObjectB.ObjectB] = 103
|
||||
protocols[104] = SimpleObject.SimpleObjectRegistration.new()
|
||||
protocolClassMap[104] = SimpleObject.SimpleObject
|
||||
protocolIdMap[SimpleObject.SimpleObject] = 104
|
||||
pass
|
||||
|
||||
static func getProtocol(protocolId: int):
|
||||
return protocols[protocolId]
|
||||
|
||||
static func newInstance(protocolId: int):
|
||||
var protocol = protocols[protocolId]
|
||||
return protocol.new()
|
||||
static func getProtocolClass(protocolId: int):
|
||||
return protocolClassMap[protocolId]
|
||||
|
||||
static func write(buffer, packet):
|
||||
var protocolId: int = packet.PROTOCOL_ID
|
||||
var protocolId: int = protocolIdMap[packet.get_script()]
|
||||
buffer.writeShort(protocolId)
|
||||
var protocol = protocols[protocolId]
|
||||
protocol.write(buffer, packet)
|
||||
|
||||
@@ -1,400 +1,405 @@
|
||||
const PROTOCOL_ID = 100
|
||||
const PROTOCOL_CLASS_NAME = "ComplexObject"
|
||||
const ObjectA = preload("res://zfoogd/packet/ObjectA.gd")
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd")
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
const ObjectA = preload("res://zfoogd/packet/ObjectA.gd").ObjectA
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd").ObjectB
|
||||
|
||||
# 复杂的对象,包括了各种复杂的结构,数组,List,Set,Map
|
||||
# byte类型,最简单的整形
|
||||
var a: int
|
||||
# byte的包装类型,优先使用基础类型,包装类型会有装箱拆箱
|
||||
var aa: int
|
||||
# 数组类型
|
||||
var aaa: Array[int]
|
||||
var aaaa: Array[int]
|
||||
var b: int
|
||||
var bb: int
|
||||
var bbb: Array[int]
|
||||
var bbbb: Array[int]
|
||||
var c: int
|
||||
var cc: int
|
||||
var ccc: Array[int]
|
||||
var cccc: Array[int]
|
||||
var d: int
|
||||
var dd: int
|
||||
var ddd: Array[int]
|
||||
var dddd: Array[int]
|
||||
var e: float
|
||||
var ee: float
|
||||
var eee: Array[float]
|
||||
var eeee: Array[float]
|
||||
var f: float
|
||||
var ff: float
|
||||
var fff: Array[float]
|
||||
var ffff: Array[float]
|
||||
var g: bool
|
||||
var gg: bool
|
||||
var ggg: Array[bool]
|
||||
var gggg: Array[bool]
|
||||
var jj: String
|
||||
var jjj: Array[String]
|
||||
var kk: ObjectA
|
||||
var kkk: Array[ObjectA]
|
||||
var l: Array[int]
|
||||
var ll: Array # Array<Array<Array<number>>>
|
||||
var lll: Array # Array<Array<ObjectA>>
|
||||
var llll: Array[String]
|
||||
var lllll: Array # Array<Map<number, string>>
|
||||
var m: Dictionary # Map<number, string>
|
||||
var mm: Dictionary # Map<number, ObjectA>
|
||||
var mmm: Dictionary # Map<ObjectA, Array<number>>
|
||||
var mmmm: Dictionary # Map<Array<Array<ObjectA>>, Array<Array<Array<number>>>>
|
||||
var mmmmm: Dictionary # Map<Array<Map<number, string>>, Set<Map<number, string>>>
|
||||
var s: Array[int]
|
||||
var ss: Array # Set<Set<Array<number>>>
|
||||
var sss: Array # Set<Set<ObjectA>>
|
||||
var ssss: Array[String]
|
||||
var sssss: Array # Set<Map<number, string>>
|
||||
# 如果要修改协议并且兼容老协议,需要加上Compatible注解,保持Compatible注解的value自增
|
||||
var myCompatible: int
|
||||
var myObject: ObjectA
|
||||
class ComplexObject:
|
||||
# byte类型,最简单的整形
|
||||
var a: int
|
||||
# byte的包装类型,优先使用基础类型,包装类型会有装箱拆箱
|
||||
var aa: int
|
||||
# 数组类型
|
||||
var aaa: Array[int]
|
||||
var aaaa: Array[int]
|
||||
var b: int
|
||||
var bb: int
|
||||
var bbb: Array[int]
|
||||
var bbbb: Array[int]
|
||||
var c: int
|
||||
var cc: int
|
||||
var ccc: Array[int]
|
||||
var cccc: Array[int]
|
||||
var d: int
|
||||
var dd: int
|
||||
var ddd: Array[int]
|
||||
var dddd: Array[int]
|
||||
var e: float
|
||||
var ee: float
|
||||
var eee: Array[float]
|
||||
var eeee: Array[float]
|
||||
var f: float
|
||||
var ff: float
|
||||
var fff: Array[float]
|
||||
var ffff: Array[float]
|
||||
var g: bool
|
||||
var gg: bool
|
||||
var ggg: Array[bool]
|
||||
var gggg: Array[bool]
|
||||
var jj: String
|
||||
var jjj: Array[String]
|
||||
var kk: ObjectA
|
||||
var kkk: Array[ObjectA]
|
||||
var l: Array[int]
|
||||
var ll: Array # Array<Array<Array<number>>>
|
||||
var lll: Array # Array<Array<ObjectA>>
|
||||
var llll: Array[String]
|
||||
var lllll: Array # Array<Map<number, string>>
|
||||
var m: Dictionary # Map<number, string>
|
||||
var mm: Dictionary # Map<number, ObjectA>
|
||||
var mmm: Dictionary # Map<ObjectA, Array<number>>
|
||||
var mmmm: Dictionary # Map<Array<Array<ObjectA>>, Array<Array<Array<number>>>>
|
||||
var mmmmm: Dictionary # Map<Array<Map<number, string>>, Set<Map<number, string>>>
|
||||
var s: Array[int]
|
||||
var ss: Array # Set<Set<Array<number>>>
|
||||
var sss: Array # Set<Set<ObjectA>>
|
||||
var ssss: Array[String]
|
||||
var sssss: Array # Set<Map<number, string>>
|
||||
# 如果要修改协议并且兼容老协议,需要加上Compatible注解,保持Compatible注解的value自增
|
||||
var myCompatible: int
|
||||
var myObject: ObjectA
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{a:{}, aa:{}, aaa:{}, aaaa:{}, b:{}, bb:{}, bbb:{}, bbbb:{}, c:{}, cc:{}, ccc:{}, cccc:{}, d:{}, dd:{}, ddd:{}, dddd:{}, e:{}, ee:{}, eee:{}, eeee:{}, f:{}, ff:{}, fff:{}, ffff:{}, g:{}, gg:{}, ggg:{}, gggg:{}, jj:'{}', jjj:{}, kk:{}, kkk:{}, l:{}, ll:{}, lll:{}, llll:{}, lllll:{}, m:{}, mm:{}, mmm:{}, mmmm:{}, mmmmm:{}, s:{}, ss:{}, sss:{}, ssss:{}, sssss:{}, myCompatible:{}, myObject:{}}"
|
||||
var params = [self.a, self.aa, JSON.stringify(self.aaa), JSON.stringify(self.aaaa), self.b, self.bb, JSON.stringify(self.bbb), JSON.stringify(self.bbbb), self.c, self.cc, JSON.stringify(self.ccc), JSON.stringify(self.cccc), self.d, self.dd, JSON.stringify(self.ddd), JSON.stringify(self.dddd), self.e, self.ee, JSON.stringify(self.eee), JSON.stringify(self.eeee), self.f, self.ff, JSON.stringify(self.fff), JSON.stringify(self.ffff), self.g, self.gg, JSON.stringify(self.ggg), JSON.stringify(self.gggg), self.jj, JSON.stringify(self.jjj), self.kk, JSON.stringify(self.kkk), JSON.stringify(self.l), JSON.stringify(self.ll), JSON.stringify(self.lll), JSON.stringify(self.llll), JSON.stringify(self.lllll), JSON.stringify(self.m), JSON.stringify(self.mm), JSON.stringify(self.mmm), JSON.stringify(self.mmmm), JSON.stringify(self.mmmmm), JSON.stringify(self.s), JSON.stringify(self.ss), JSON.stringify(self.sss), JSON.stringify(self.ssss), JSON.stringify(self.sssss), self.myCompatible, self.myObject]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{a:{}, aa:{}, aaa:{}, aaaa:{}, b:{}, bb:{}, bbb:{}, bbbb:{}, c:{}, cc:{}, ccc:{}, cccc:{}, d:{}, dd:{}, ddd:{}, dddd:{}, e:{}, ee:{}, eee:{}, eeee:{}, f:{}, ff:{}, fff:{}, ffff:{}, g:{}, gg:{}, ggg:{}, gggg:{}, jj:'{}', jjj:{}, kk:{}, kkk:{}, l:{}, ll:{}, lll:{}, llll:{}, lllll:{}, m:{}, mm:{}, mmm:{}, mmmm:{}, mmmmm:{}, s:{}, ss:{}, sss:{}, ssss:{}, sssss:{}, myCompatible:{}, myObject:{}}"
|
||||
var params = [self.a, self.aa, JSON.stringify(self.aaa), JSON.stringify(self.aaaa), self.b, self.bb, JSON.stringify(self.bbb), JSON.stringify(self.bbbb), self.c, self.cc, JSON.stringify(self.ccc), JSON.stringify(self.cccc), self.d, self.dd, JSON.stringify(self.ddd), JSON.stringify(self.dddd), self.e, self.ee, JSON.stringify(self.eee), JSON.stringify(self.eeee), self.f, self.ff, JSON.stringify(self.fff), JSON.stringify(self.ffff), self.g, self.gg, JSON.stringify(self.ggg), JSON.stringify(self.gggg), self.jj, JSON.stringify(self.jjj), self.kk, JSON.stringify(self.kkk), JSON.stringify(self.l), JSON.stringify(self.ll), JSON.stringify(self.lll), JSON.stringify(self.llll), JSON.stringify(self.lllll), JSON.stringify(self.m), JSON.stringify(self.mm), JSON.stringify(self.mmm), JSON.stringify(self.mmmm), JSON.stringify(self.mmmmm), JSON.stringify(self.s), JSON.stringify(self.ss), JSON.stringify(self.sss), JSON.stringify(self.ssss), JSON.stringify(self.sssss), self.myCompatible, self.myObject]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
static func write(buffer, packet):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(36962)
|
||||
buffer.writeByte(packet.a)
|
||||
buffer.writeByte(packet.aa)
|
||||
buffer.writeByteArray(packet.aaa)
|
||||
buffer.writeByteArray(packet.aaaa)
|
||||
buffer.writeShort(packet.b)
|
||||
buffer.writeShort(packet.bb)
|
||||
buffer.writeShortArray(packet.bbb)
|
||||
buffer.writeShortArray(packet.bbbb)
|
||||
buffer.writeInt(packet.c)
|
||||
buffer.writeInt(packet.cc)
|
||||
buffer.writeIntArray(packet.ccc)
|
||||
buffer.writeIntArray(packet.cccc)
|
||||
buffer.writeLong(packet.d)
|
||||
buffer.writeLong(packet.dd)
|
||||
buffer.writeLongArray(packet.ddd)
|
||||
buffer.writeLongArray(packet.dddd)
|
||||
buffer.writeFloat(packet.e)
|
||||
buffer.writeFloat(packet.ee)
|
||||
buffer.writeFloatArray(packet.eee)
|
||||
buffer.writeFloatArray(packet.eeee)
|
||||
buffer.writeDouble(packet.f)
|
||||
buffer.writeDouble(packet.ff)
|
||||
buffer.writeDoubleArray(packet.fff)
|
||||
buffer.writeDoubleArray(packet.ffff)
|
||||
buffer.writeBool(packet.g)
|
||||
buffer.writeBool(packet.gg)
|
||||
buffer.writeBooleanArray(packet.ggg)
|
||||
buffer.writeBooleanArray(packet.gggg)
|
||||
buffer.writeString(packet.jj)
|
||||
buffer.writeStringArray(packet.jjj)
|
||||
buffer.writePacket(packet.kk, 102)
|
||||
buffer.writePacketArray(packet.kkk, 102)
|
||||
buffer.writeIntArray(packet.l)
|
||||
if (packet.ll == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.ll.size())
|
||||
for element0 in packet.ll:
|
||||
if (element0 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(element0.size())
|
||||
for element1 in element0:
|
||||
buffer.writeIntArray(element1)
|
||||
if (packet.lll == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.lll.size())
|
||||
for element2 in packet.lll:
|
||||
buffer.writePacketArray(element2, 102)
|
||||
buffer.writeStringArray(packet.llll)
|
||||
if (packet.lllll == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.lllll.size())
|
||||
for element3 in packet.lllll:
|
||||
buffer.writeIntStringMap(element3)
|
||||
buffer.writeIntStringMap(packet.m)
|
||||
buffer.writeIntPacketMap(packet.mm, 102)
|
||||
if (packet.mmm == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.mmm.size())
|
||||
for key4 in packet.mmm:
|
||||
var value5 = packet.mmm[key4]
|
||||
buffer.writePacket(key4, 102)
|
||||
buffer.writeIntArray(value5)
|
||||
if (packet.mmmm == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.mmmm.size())
|
||||
for key6 in packet.mmmm:
|
||||
var value7 = packet.mmmm[key6]
|
||||
if (key6 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(key6.size())
|
||||
for element8 in key6:
|
||||
buffer.writePacketArray(element8, 102)
|
||||
if (value7 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(value7.size())
|
||||
for element9 in value7:
|
||||
if (element9 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(element9.size())
|
||||
for element10 in element9:
|
||||
buffer.writeIntArray(element10)
|
||||
if (packet.mmmmm == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.mmmmm.size())
|
||||
for key11 in packet.mmmmm:
|
||||
var value12 = packet.mmmmm[key11]
|
||||
if (key11 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(key11.size())
|
||||
for element13 in key11:
|
||||
buffer.writeIntStringMap(element13)
|
||||
if (value12 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(value12.size())
|
||||
for element14 in value12:
|
||||
buffer.writeIntStringMap(element14)
|
||||
buffer.writeIntArray(packet.s)
|
||||
if (packet.ss == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.ss.size())
|
||||
for element15 in packet.ss:
|
||||
if (element15 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(element15.size())
|
||||
for element16 in element15:
|
||||
buffer.writeIntArray(element16)
|
||||
if (packet.sss == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.sss.size())
|
||||
for element17 in packet.sss:
|
||||
buffer.writePacketArray(element17, 102)
|
||||
buffer.writeStringArray(packet.ssss)
|
||||
if (packet.sssss == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.sssss.size())
|
||||
for element18 in packet.sssss:
|
||||
buffer.writeIntStringMap(element18)
|
||||
buffer.writeInt(packet.myCompatible)
|
||||
buffer.writePacket(packet.myObject, 102)
|
||||
buffer.adjustPadding(36962, beforeWriteIndex)
|
||||
pass
|
||||
class ComplexObjectRegistration:
|
||||
func getProtocolId():
|
||||
return 100
|
||||
|
||||
static func read(buffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(PROTOCOL_ID)
|
||||
var result0 = buffer.readByte()
|
||||
packet.a = result0
|
||||
var result1 = buffer.readByte()
|
||||
packet.aa = result1
|
||||
var array2 = buffer.readByteArray()
|
||||
packet.aaa = array2
|
||||
var array3 = buffer.readByteArray()
|
||||
packet.aaaa = array3
|
||||
var result4 = buffer.readShort()
|
||||
packet.b = result4
|
||||
var result5 = buffer.readShort()
|
||||
packet.bb = result5
|
||||
var array6 = buffer.readShortArray()
|
||||
packet.bbb = array6
|
||||
var array7 = buffer.readShortArray()
|
||||
packet.bbbb = array7
|
||||
var result8 = buffer.readInt()
|
||||
packet.c = result8
|
||||
var result9 = buffer.readInt()
|
||||
packet.cc = result9
|
||||
var array10 = buffer.readIntArray()
|
||||
packet.ccc = array10
|
||||
var array11 = buffer.readIntArray()
|
||||
packet.cccc = array11
|
||||
var result12 = buffer.readLong()
|
||||
packet.d = result12
|
||||
var result13 = buffer.readLong()
|
||||
packet.dd = result13
|
||||
var array14 = buffer.readLongArray()
|
||||
packet.ddd = array14
|
||||
var array15 = buffer.readLongArray()
|
||||
packet.dddd = array15
|
||||
var result16 = buffer.readFloat()
|
||||
packet.e = result16
|
||||
var result17 = buffer.readFloat()
|
||||
packet.ee = result17
|
||||
var array18 = buffer.readFloatArray()
|
||||
packet.eee = array18
|
||||
var array19 = buffer.readFloatArray()
|
||||
packet.eeee = array19
|
||||
var result20 = buffer.readDouble()
|
||||
packet.f = result20
|
||||
var result21 = buffer.readDouble()
|
||||
packet.ff = result21
|
||||
var array22 = buffer.readDoubleArray()
|
||||
packet.fff = array22
|
||||
var array23 = buffer.readDoubleArray()
|
||||
packet.ffff = array23
|
||||
var result24 = buffer.readBool()
|
||||
packet.g = result24
|
||||
var result25 = buffer.readBool()
|
||||
packet.gg = result25
|
||||
var array26 = buffer.readBooleanArray()
|
||||
packet.ggg = array26
|
||||
var array27 = buffer.readBooleanArray()
|
||||
packet.gggg = array27
|
||||
var result28 = buffer.readString()
|
||||
packet.jj = result28
|
||||
var array29 = buffer.readStringArray()
|
||||
packet.jjj = array29
|
||||
var result30 = buffer.readPacket(102)
|
||||
packet.kk = result30
|
||||
var array31 = buffer.readPacketArray(102)
|
||||
packet.kkk = array31
|
||||
var list32 = buffer.readIntArray()
|
||||
packet.l = list32
|
||||
var result33 = []
|
||||
var size35 = buffer.readInt()
|
||||
if (size35 > 0):
|
||||
for index34 in range(size35):
|
||||
var result36 = []
|
||||
var size38 = buffer.readInt()
|
||||
if (size38 > 0):
|
||||
for index37 in range(size38):
|
||||
var list39 = buffer.readIntArray()
|
||||
result36.append(list39)
|
||||
result33.append(result36)
|
||||
packet.ll = result33
|
||||
var result40 = []
|
||||
var size42 = buffer.readInt()
|
||||
if (size42 > 0):
|
||||
for index41 in range(size42):
|
||||
var list43 = buffer.readPacketArray(102)
|
||||
result40.append(list43)
|
||||
packet.lll = result40
|
||||
var list44 = buffer.readStringArray()
|
||||
packet.llll = list44
|
||||
var result45 = []
|
||||
var size47 = buffer.readInt()
|
||||
if (size47 > 0):
|
||||
for index46 in range(size47):
|
||||
var map48 = buffer.readIntStringMap()
|
||||
result45.append(map48)
|
||||
packet.lllll = result45
|
||||
var map49 = buffer.readIntStringMap()
|
||||
packet.m = map49
|
||||
var map50 = buffer.readIntPacketMap(102)
|
||||
packet.mm = map50
|
||||
var result51 = {}
|
||||
var size52 = buffer.readInt()
|
||||
if (size52 > 0):
|
||||
for index53 in range(size52):
|
||||
var result54 = buffer.readPacket(102)
|
||||
var list55 = buffer.readIntArray()
|
||||
result51[result54] = list55
|
||||
packet.mmm = result51
|
||||
var result56 = {}
|
||||
var size57 = buffer.readInt()
|
||||
if (size57 > 0):
|
||||
for index58 in range(size57):
|
||||
var result59 = []
|
||||
var size61 = buffer.readInt()
|
||||
if (size61 > 0):
|
||||
for index60 in range(size61):
|
||||
var list62 = buffer.readPacketArray(102)
|
||||
result59.append(list62)
|
||||
var result63 = []
|
||||
var size65 = buffer.readInt()
|
||||
if (size65 > 0):
|
||||
for index64 in range(size65):
|
||||
var result66 = []
|
||||
var size68 = buffer.readInt()
|
||||
if (size68 > 0):
|
||||
for index67 in range(size68):
|
||||
var list69 = buffer.readIntArray()
|
||||
result66.append(list69)
|
||||
result63.append(result66)
|
||||
result56[result59] = result63
|
||||
packet.mmmm = result56
|
||||
var result70 = {}
|
||||
var size71 = buffer.readInt()
|
||||
if (size71 > 0):
|
||||
for index72 in range(size71):
|
||||
var result73 = []
|
||||
var size75 = buffer.readInt()
|
||||
if (size75 > 0):
|
||||
for index74 in range(size75):
|
||||
var map76 = buffer.readIntStringMap()
|
||||
result73.append(map76)
|
||||
var result77 = []
|
||||
var size79 = buffer.readInt()
|
||||
if (size79 > 0):
|
||||
for index78 in range(size79):
|
||||
var map80 = buffer.readIntStringMap()
|
||||
result77.append(map80)
|
||||
result70[result73] = result77
|
||||
packet.mmmmm = result70
|
||||
var set81 = buffer.readIntArray()
|
||||
packet.s = set81
|
||||
var result82 = []
|
||||
var size84 = buffer.readInt()
|
||||
if (size84 > 0):
|
||||
for index83 in range(size84):
|
||||
var result85 = []
|
||||
var size87 = buffer.readInt()
|
||||
if (size87 > 0):
|
||||
for index86 in range(size87):
|
||||
var list88 = buffer.readIntArray()
|
||||
result85.append(list88)
|
||||
result82.append(result85)
|
||||
packet.ss = result82
|
||||
var result89 = []
|
||||
var size91 = buffer.readInt()
|
||||
if (size91 > 0):
|
||||
for index90 in range(size91):
|
||||
var set92 = buffer.readPacketArray(102)
|
||||
result89.append(set92)
|
||||
packet.sss = result89
|
||||
var set93 = buffer.readStringArray()
|
||||
packet.ssss = set93
|
||||
var result94 = []
|
||||
var size96 = buffer.readInt()
|
||||
if (size96 > 0):
|
||||
for index95 in range(size96):
|
||||
var map97 = buffer.readIntStringMap()
|
||||
result94.append(map97)
|
||||
packet.sssss = result94
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result98 = buffer.readInt()
|
||||
packet.myCompatible = result98;
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result99 = buffer.readPacket(102)
|
||||
packet.myObject = result99;
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
func write(buffer: ByteBuffer, packet: ComplexObject):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(36962)
|
||||
buffer.writeByte(packet.a)
|
||||
buffer.writeByte(packet.aa)
|
||||
buffer.writeByteArray(packet.aaa)
|
||||
buffer.writeByteArray(packet.aaaa)
|
||||
buffer.writeShort(packet.b)
|
||||
buffer.writeShort(packet.bb)
|
||||
buffer.writeShortArray(packet.bbb)
|
||||
buffer.writeShortArray(packet.bbbb)
|
||||
buffer.writeInt(packet.c)
|
||||
buffer.writeInt(packet.cc)
|
||||
buffer.writeIntArray(packet.ccc)
|
||||
buffer.writeIntArray(packet.cccc)
|
||||
buffer.writeLong(packet.d)
|
||||
buffer.writeLong(packet.dd)
|
||||
buffer.writeLongArray(packet.ddd)
|
||||
buffer.writeLongArray(packet.dddd)
|
||||
buffer.writeFloat(packet.e)
|
||||
buffer.writeFloat(packet.ee)
|
||||
buffer.writeFloatArray(packet.eee)
|
||||
buffer.writeFloatArray(packet.eeee)
|
||||
buffer.writeDouble(packet.f)
|
||||
buffer.writeDouble(packet.ff)
|
||||
buffer.writeDoubleArray(packet.fff)
|
||||
buffer.writeDoubleArray(packet.ffff)
|
||||
buffer.writeBool(packet.g)
|
||||
buffer.writeBool(packet.gg)
|
||||
buffer.writeBoolArray(packet.ggg)
|
||||
buffer.writeBoolArray(packet.gggg)
|
||||
buffer.writeString(packet.jj)
|
||||
buffer.writeStringArray(packet.jjj)
|
||||
buffer.writePacket(packet.kk, 102)
|
||||
buffer.writePacketArray(packet.kkk, 102)
|
||||
buffer.writeIntArray(packet.l)
|
||||
if (packet.ll == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.ll.size())
|
||||
for element0 in packet.ll:
|
||||
if (element0 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(element0.size())
|
||||
for element1 in element0:
|
||||
buffer.writeIntArray(element1)
|
||||
if (packet.lll == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.lll.size())
|
||||
for element2 in packet.lll:
|
||||
buffer.writePacketArray(element2, 102)
|
||||
buffer.writeStringArray(packet.llll)
|
||||
if (packet.lllll == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.lllll.size())
|
||||
for element3 in packet.lllll:
|
||||
buffer.writeIntStringMap(element3)
|
||||
buffer.writeIntStringMap(packet.m)
|
||||
buffer.writeIntPacketMap(packet.mm, 102)
|
||||
if (packet.mmm == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.mmm.size())
|
||||
for key4 in packet.mmm:
|
||||
var value5 = packet.mmm[key4]
|
||||
buffer.writePacket(key4, 102)
|
||||
buffer.writeIntArray(value5)
|
||||
if (packet.mmmm == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.mmmm.size())
|
||||
for key6 in packet.mmmm:
|
||||
var value7 = packet.mmmm[key6]
|
||||
if (key6 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(key6.size())
|
||||
for element8 in key6:
|
||||
buffer.writePacketArray(element8, 102)
|
||||
if (value7 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(value7.size())
|
||||
for element9 in value7:
|
||||
if (element9 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(element9.size())
|
||||
for element10 in element9:
|
||||
buffer.writeIntArray(element10)
|
||||
if (packet.mmmmm == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.mmmmm.size())
|
||||
for key11 in packet.mmmmm:
|
||||
var value12 = packet.mmmmm[key11]
|
||||
if (key11 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(key11.size())
|
||||
for element13 in key11:
|
||||
buffer.writeIntStringMap(element13)
|
||||
if (value12 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(value12.size())
|
||||
for element14 in value12:
|
||||
buffer.writeIntStringMap(element14)
|
||||
buffer.writeIntArray(packet.s)
|
||||
if (packet.ss == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.ss.size())
|
||||
for element15 in packet.ss:
|
||||
if (element15 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(element15.size())
|
||||
for element16 in element15:
|
||||
buffer.writeIntArray(element16)
|
||||
if (packet.sss == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.sss.size())
|
||||
for element17 in packet.sss:
|
||||
buffer.writePacketArray(element17, 102)
|
||||
buffer.writeStringArray(packet.ssss)
|
||||
if (packet.sssss == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.sssss.size())
|
||||
for element18 in packet.sssss:
|
||||
buffer.writeIntStringMap(element18)
|
||||
buffer.writeInt(packet.myCompatible)
|
||||
buffer.writePacket(packet.myObject, 102)
|
||||
buffer.adjustPadding(36962, beforeWriteIndex)
|
||||
pass
|
||||
|
||||
func read(buffer: ByteBuffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = ComplexObject.new()
|
||||
var result0 = buffer.readByte()
|
||||
packet.a = result0
|
||||
var result1 = buffer.readByte()
|
||||
packet.aa = result1
|
||||
var array2 = buffer.readByteArray()
|
||||
packet.aaa = array2
|
||||
var array3 = buffer.readByteArray()
|
||||
packet.aaaa = array3
|
||||
var result4 = buffer.readShort()
|
||||
packet.b = result4
|
||||
var result5 = buffer.readShort()
|
||||
packet.bb = result5
|
||||
var array6 = buffer.readShortArray()
|
||||
packet.bbb = array6
|
||||
var array7 = buffer.readShortArray()
|
||||
packet.bbbb = array7
|
||||
var result8 = buffer.readInt()
|
||||
packet.c = result8
|
||||
var result9 = buffer.readInt()
|
||||
packet.cc = result9
|
||||
var array10 = buffer.readIntArray()
|
||||
packet.ccc = array10
|
||||
var array11 = buffer.readIntArray()
|
||||
packet.cccc = array11
|
||||
var result12 = buffer.readLong()
|
||||
packet.d = result12
|
||||
var result13 = buffer.readLong()
|
||||
packet.dd = result13
|
||||
var array14 = buffer.readLongArray()
|
||||
packet.ddd = array14
|
||||
var array15 = buffer.readLongArray()
|
||||
packet.dddd = array15
|
||||
var result16 = buffer.readFloat()
|
||||
packet.e = result16
|
||||
var result17 = buffer.readFloat()
|
||||
packet.ee = result17
|
||||
var array18 = buffer.readFloatArray()
|
||||
packet.eee = array18
|
||||
var array19 = buffer.readFloatArray()
|
||||
packet.eeee = array19
|
||||
var result20 = buffer.readDouble()
|
||||
packet.f = result20
|
||||
var result21 = buffer.readDouble()
|
||||
packet.ff = result21
|
||||
var array22 = buffer.readDoubleArray()
|
||||
packet.fff = array22
|
||||
var array23 = buffer.readDoubleArray()
|
||||
packet.ffff = array23
|
||||
var result24 = buffer.readBool()
|
||||
packet.g = result24
|
||||
var result25 = buffer.readBool()
|
||||
packet.gg = result25
|
||||
var array26 = buffer.readBoolArray()
|
||||
packet.ggg = array26
|
||||
var array27 = buffer.readBoolArray()
|
||||
packet.gggg = array27
|
||||
var result28 = buffer.readString()
|
||||
packet.jj = result28
|
||||
var array29 = buffer.readStringArray()
|
||||
packet.jjj = array29
|
||||
var result30 = buffer.readPacket(102)
|
||||
packet.kk = result30
|
||||
var array31 = buffer.readPacketArray(102)
|
||||
packet.kkk = array31
|
||||
var list32 = buffer.readIntArray()
|
||||
packet.l = list32
|
||||
var result33 = []
|
||||
var size35 = buffer.readInt()
|
||||
if (size35 > 0):
|
||||
for index34 in range(size35):
|
||||
var result36 = []
|
||||
var size38 = buffer.readInt()
|
||||
if (size38 > 0):
|
||||
for index37 in range(size38):
|
||||
var list39 = buffer.readIntArray()
|
||||
result36.append(list39)
|
||||
result33.append(result36)
|
||||
packet.ll = result33
|
||||
var result40 = []
|
||||
var size42 = buffer.readInt()
|
||||
if (size42 > 0):
|
||||
for index41 in range(size42):
|
||||
var list43 = buffer.readPacketArray(102)
|
||||
result40.append(list43)
|
||||
packet.lll = result40
|
||||
var list44 = buffer.readStringArray()
|
||||
packet.llll = list44
|
||||
var result45 = []
|
||||
var size47 = buffer.readInt()
|
||||
if (size47 > 0):
|
||||
for index46 in range(size47):
|
||||
var map48 = buffer.readIntStringMap()
|
||||
result45.append(map48)
|
||||
packet.lllll = result45
|
||||
var map49 = buffer.readIntStringMap()
|
||||
packet.m = map49
|
||||
var map50 = buffer.readIntPacketMap(102)
|
||||
packet.mm = map50
|
||||
var result51 = {}
|
||||
var size52 = buffer.readInt()
|
||||
if (size52 > 0):
|
||||
for index53 in range(size52):
|
||||
var result54 = buffer.readPacket(102)
|
||||
var list55 = buffer.readIntArray()
|
||||
result51[result54] = list55
|
||||
packet.mmm = result51
|
||||
var result56 = {}
|
||||
var size57 = buffer.readInt()
|
||||
if (size57 > 0):
|
||||
for index58 in range(size57):
|
||||
var result59 = []
|
||||
var size61 = buffer.readInt()
|
||||
if (size61 > 0):
|
||||
for index60 in range(size61):
|
||||
var list62 = buffer.readPacketArray(102)
|
||||
result59.append(list62)
|
||||
var result63 = []
|
||||
var size65 = buffer.readInt()
|
||||
if (size65 > 0):
|
||||
for index64 in range(size65):
|
||||
var result66 = []
|
||||
var size68 = buffer.readInt()
|
||||
if (size68 > 0):
|
||||
for index67 in range(size68):
|
||||
var list69 = buffer.readIntArray()
|
||||
result66.append(list69)
|
||||
result63.append(result66)
|
||||
result56[result59] = result63
|
||||
packet.mmmm = result56
|
||||
var result70 = {}
|
||||
var size71 = buffer.readInt()
|
||||
if (size71 > 0):
|
||||
for index72 in range(size71):
|
||||
var result73 = []
|
||||
var size75 = buffer.readInt()
|
||||
if (size75 > 0):
|
||||
for index74 in range(size75):
|
||||
var map76 = buffer.readIntStringMap()
|
||||
result73.append(map76)
|
||||
var result77 = []
|
||||
var size79 = buffer.readInt()
|
||||
if (size79 > 0):
|
||||
for index78 in range(size79):
|
||||
var map80 = buffer.readIntStringMap()
|
||||
result77.append(map80)
|
||||
result70[result73] = result77
|
||||
packet.mmmmm = result70
|
||||
var set81 = buffer.readIntArray()
|
||||
packet.s = set81
|
||||
var result82 = []
|
||||
var size84 = buffer.readInt()
|
||||
if (size84 > 0):
|
||||
for index83 in range(size84):
|
||||
var result85 = []
|
||||
var size87 = buffer.readInt()
|
||||
if (size87 > 0):
|
||||
for index86 in range(size87):
|
||||
var list88 = buffer.readIntArray()
|
||||
result85.append(list88)
|
||||
result82.append(result85)
|
||||
packet.ss = result82
|
||||
var result89 = []
|
||||
var size91 = buffer.readInt()
|
||||
if (size91 > 0):
|
||||
for index90 in range(size91):
|
||||
var set92 = buffer.readPacketArray(102)
|
||||
result89.append(set92)
|
||||
packet.sss = result89
|
||||
var set93 = buffer.readStringArray()
|
||||
packet.ssss = set93
|
||||
var result94 = []
|
||||
var size96 = buffer.readInt()
|
||||
if (size96 > 0):
|
||||
for index95 in range(size96):
|
||||
var map97 = buffer.readIntStringMap()
|
||||
result94.append(map97)
|
||||
packet.sssss = result94
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result98 = buffer.readInt()
|
||||
packet.myCompatible = result98
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result99 = buffer.readPacket(102)
|
||||
packet.myObject = result99
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
@@ -1,28 +1,32 @@
|
||||
const PROTOCOL_ID = 0
|
||||
const PROTOCOL_CLASS_NAME = "EmptyObject"
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
|
||||
|
||||
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{}"
|
||||
var params = []
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
static func write(buffer, packet):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
buffer.writeInt(-1)
|
||||
pass
|
||||
|
||||
static func read(buffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(PROTOCOL_ID)
|
||||
class EmptyObject:
|
||||
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{}"
|
||||
var params = []
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
class EmptyObjectRegistration:
|
||||
func getProtocolId():
|
||||
return 0
|
||||
|
||||
func write(buffer: ByteBuffer, packet: EmptyObject):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
buffer.writeInt(-1)
|
||||
pass
|
||||
|
||||
func read(buffer: ByteBuffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = EmptyObject.new()
|
||||
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
@@ -1,111 +1,117 @@
|
||||
const PROTOCOL_ID = 101
|
||||
const PROTOCOL_CLASS_NAME = "NormalObject"
|
||||
const ObjectA = preload("res://zfoogd/packet/ObjectA.gd")
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd")
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
const ObjectA = preload("res://zfoogd/packet/ObjectA.gd").ObjectA
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd").ObjectB
|
||||
|
||||
var a: int
|
||||
var aaa: Array[int]
|
||||
var b: int
|
||||
var c: int
|
||||
var d: int
|
||||
var e: float
|
||||
var f: float
|
||||
var g: bool
|
||||
var jj: String
|
||||
var kk: ObjectA
|
||||
var l: Array[int]
|
||||
var ll: Array[int]
|
||||
var lll: Array[ObjectA]
|
||||
var llll: Array[String]
|
||||
var m: Dictionary # Map<number, string>
|
||||
var mm: Dictionary # Map<number, ObjectA>
|
||||
var s: Array[int]
|
||||
var ssss: Array[String]
|
||||
var outCompatibleValue: int
|
||||
var outCompatibleValue2: int
|
||||
# 常规的对象,取所有语言语法的交集,基本上所有语言都支持下面的语法
|
||||
class NormalObject:
|
||||
var a: int
|
||||
var aaa: Array[int]
|
||||
var b: int
|
||||
# 整数类型
|
||||
var c: int
|
||||
var d: int
|
||||
var e: float
|
||||
var f: float
|
||||
var g: bool
|
||||
var jj: String
|
||||
var kk: ObjectA
|
||||
var l: Array[int]
|
||||
var ll: Array[int]
|
||||
var lll: Array[ObjectA]
|
||||
var llll: Array[String]
|
||||
var m: Dictionary # Map<number, string>
|
||||
var mm: Dictionary # Map<number, ObjectA>
|
||||
var s: Array[int]
|
||||
var ssss: Array[String]
|
||||
var outCompatibleValue: int
|
||||
var outCompatibleValue2: int
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{a:{}, aaa:{}, b:{}, c:{}, d:{}, e:{}, f:{}, g:{}, jj:'{}', kk:{}, l:{}, ll:{}, lll:{}, llll:{}, m:{}, mm:{}, s:{}, ssss:{}, outCompatibleValue:{}, outCompatibleValue2:{}}"
|
||||
var params = [self.a, JSON.stringify(self.aaa), self.b, self.c, self.d, self.e, self.f, self.g, self.jj, self.kk, JSON.stringify(self.l), JSON.stringify(self.ll), JSON.stringify(self.lll), JSON.stringify(self.llll), JSON.stringify(self.m), JSON.stringify(self.mm), JSON.stringify(self.s), JSON.stringify(self.ssss), self.outCompatibleValue, self.outCompatibleValue2]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{a:{}, aaa:{}, b:{}, c:{}, d:{}, e:{}, f:{}, g:{}, jj:'{}', kk:{}, l:{}, ll:{}, lll:{}, llll:{}, m:{}, mm:{}, s:{}, ssss:{}, outCompatibleValue:{}, outCompatibleValue2:{}}"
|
||||
var params = [self.a, JSON.stringify(self.aaa), self.b, self.c, self.d, self.e, self.f, self.g, self.jj, self.kk, JSON.stringify(self.l), JSON.stringify(self.ll), JSON.stringify(self.lll), JSON.stringify(self.llll), JSON.stringify(self.m), JSON.stringify(self.mm), JSON.stringify(self.s), JSON.stringify(self.ssss), self.outCompatibleValue, self.outCompatibleValue2]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
static func write(buffer, packet):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(857)
|
||||
buffer.writeByte(packet.a)
|
||||
buffer.writeByteArray(packet.aaa)
|
||||
buffer.writeShort(packet.b)
|
||||
buffer.writeInt(packet.c)
|
||||
buffer.writeLong(packet.d)
|
||||
buffer.writeFloat(packet.e)
|
||||
buffer.writeDouble(packet.f)
|
||||
buffer.writeBool(packet.g)
|
||||
buffer.writeString(packet.jj)
|
||||
buffer.writePacket(packet.kk, 102)
|
||||
buffer.writeIntArray(packet.l)
|
||||
buffer.writeLongArray(packet.ll)
|
||||
buffer.writePacketArray(packet.lll, 102)
|
||||
buffer.writeStringArray(packet.llll)
|
||||
buffer.writeIntStringMap(packet.m)
|
||||
buffer.writeIntPacketMap(packet.mm, 102)
|
||||
buffer.writeIntArray(packet.s)
|
||||
buffer.writeStringArray(packet.ssss)
|
||||
buffer.writeInt(packet.outCompatibleValue)
|
||||
buffer.writeInt(packet.outCompatibleValue2)
|
||||
buffer.adjustPadding(857, beforeWriteIndex)
|
||||
pass
|
||||
class NormalObjectRegistration:
|
||||
func getProtocolId():
|
||||
return 101
|
||||
|
||||
static func read(buffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(PROTOCOL_ID)
|
||||
var result0 = buffer.readByte()
|
||||
packet.a = result0
|
||||
var array1 = buffer.readByteArray()
|
||||
packet.aaa = array1
|
||||
var result2 = buffer.readShort()
|
||||
packet.b = result2
|
||||
var result3 = buffer.readInt()
|
||||
packet.c = result3
|
||||
var result4 = buffer.readLong()
|
||||
packet.d = result4
|
||||
var result5 = buffer.readFloat()
|
||||
packet.e = result5
|
||||
var result6 = buffer.readDouble()
|
||||
packet.f = result6
|
||||
var result7 = buffer.readBool()
|
||||
packet.g = result7
|
||||
var result8 = buffer.readString()
|
||||
packet.jj = result8
|
||||
var result9 = buffer.readPacket(102)
|
||||
packet.kk = result9
|
||||
var list10 = buffer.readIntArray()
|
||||
packet.l = list10
|
||||
var list11 = buffer.readLongArray()
|
||||
packet.ll = list11
|
||||
var list12 = buffer.readPacketArray(102)
|
||||
packet.lll = list12
|
||||
var list13 = buffer.readStringArray()
|
||||
packet.llll = list13
|
||||
var map14 = buffer.readIntStringMap()
|
||||
packet.m = map14
|
||||
var map15 = buffer.readIntPacketMap(102)
|
||||
packet.mm = map15
|
||||
var set16 = buffer.readIntArray()
|
||||
packet.s = set16
|
||||
var set17 = buffer.readStringArray()
|
||||
packet.ssss = set17
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result18 = buffer.readInt()
|
||||
packet.outCompatibleValue = result18;
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result19 = buffer.readInt()
|
||||
packet.outCompatibleValue2 = result19;
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
func write(buffer: ByteBuffer, packet: NormalObject):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(857)
|
||||
buffer.writeByte(packet.a)
|
||||
buffer.writeByteArray(packet.aaa)
|
||||
buffer.writeShort(packet.b)
|
||||
buffer.writeInt(packet.c)
|
||||
buffer.writeLong(packet.d)
|
||||
buffer.writeFloat(packet.e)
|
||||
buffer.writeDouble(packet.f)
|
||||
buffer.writeBool(packet.g)
|
||||
buffer.writeString(packet.jj)
|
||||
buffer.writePacket(packet.kk, 102)
|
||||
buffer.writeIntArray(packet.l)
|
||||
buffer.writeLongArray(packet.ll)
|
||||
buffer.writePacketArray(packet.lll, 102)
|
||||
buffer.writeStringArray(packet.llll)
|
||||
buffer.writeIntStringMap(packet.m)
|
||||
buffer.writeIntPacketMap(packet.mm, 102)
|
||||
buffer.writeIntArray(packet.s)
|
||||
buffer.writeStringArray(packet.ssss)
|
||||
buffer.writeInt(packet.outCompatibleValue)
|
||||
buffer.writeInt(packet.outCompatibleValue2)
|
||||
buffer.adjustPadding(857, beforeWriteIndex)
|
||||
pass
|
||||
|
||||
func read(buffer: ByteBuffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = NormalObject.new()
|
||||
var result0 = buffer.readByte()
|
||||
packet.a = result0
|
||||
var array1 = buffer.readByteArray()
|
||||
packet.aaa = array1
|
||||
var result2 = buffer.readShort()
|
||||
packet.b = result2
|
||||
var result3 = buffer.readInt()
|
||||
packet.c = result3
|
||||
var result4 = buffer.readLong()
|
||||
packet.d = result4
|
||||
var result5 = buffer.readFloat()
|
||||
packet.e = result5
|
||||
var result6 = buffer.readDouble()
|
||||
packet.f = result6
|
||||
var result7 = buffer.readBool()
|
||||
packet.g = result7
|
||||
var result8 = buffer.readString()
|
||||
packet.jj = result8
|
||||
var result9 = buffer.readPacket(102)
|
||||
packet.kk = result9
|
||||
var list10 = buffer.readIntArray()
|
||||
packet.l = list10
|
||||
var list11 = buffer.readLongArray()
|
||||
packet.ll = list11
|
||||
var list12 = buffer.readPacketArray(102)
|
||||
packet.lll = list12
|
||||
var list13 = buffer.readStringArray()
|
||||
packet.llll = list13
|
||||
var map14 = buffer.readIntStringMap()
|
||||
packet.m = map14
|
||||
var map15 = buffer.readIntPacketMap(102)
|
||||
packet.mm = map15
|
||||
var set16 = buffer.readIntArray()
|
||||
packet.s = set16
|
||||
var set17 = buffer.readStringArray()
|
||||
packet.ssss = set17
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result18 = buffer.readInt()
|
||||
packet.outCompatibleValue = result18
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result19 = buffer.readInt()
|
||||
packet.outCompatibleValue2 = result19
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
@@ -1,45 +1,50 @@
|
||||
const PROTOCOL_ID = 102
|
||||
const PROTOCOL_CLASS_NAME = "ObjectA"
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd")
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd").ObjectB
|
||||
|
||||
var a: int
|
||||
var m: Dictionary # Map<number, string>
|
||||
var objectB: ObjectB
|
||||
var innerCompatibleValue: int
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{a:{}, m:{}, objectB:{}, innerCompatibleValue:{}}"
|
||||
var params = [self.a, JSON.stringify(self.m), self.objectB, self.innerCompatibleValue]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
class ObjectA:
|
||||
var a: int
|
||||
var m: Dictionary # Map<number, string>
|
||||
var objectB: ObjectB
|
||||
var innerCompatibleValue: int
|
||||
|
||||
static func write(buffer, packet):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(201)
|
||||
buffer.writeInt(packet.a)
|
||||
buffer.writeIntStringMap(packet.m)
|
||||
buffer.writePacket(packet.objectB, 103)
|
||||
buffer.writeInt(packet.innerCompatibleValue)
|
||||
buffer.adjustPadding(201, beforeWriteIndex)
|
||||
pass
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{a:{}, m:{}, objectB:{}, innerCompatibleValue:{}}"
|
||||
var params = [self.a, JSON.stringify(self.m), self.objectB, self.innerCompatibleValue]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
static func read(buffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(PROTOCOL_ID)
|
||||
var result0 = buffer.readInt()
|
||||
packet.a = result0
|
||||
var map1 = buffer.readIntStringMap()
|
||||
packet.m = map1
|
||||
var result2 = buffer.readPacket(103)
|
||||
packet.objectB = result2
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result3 = buffer.readInt()
|
||||
packet.innerCompatibleValue = result3;
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
class ObjectARegistration:
|
||||
func getProtocolId():
|
||||
return 102
|
||||
|
||||
func write(buffer: ByteBuffer, packet: ObjectA):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(201)
|
||||
buffer.writeInt(packet.a)
|
||||
buffer.writeIntStringMap(packet.m)
|
||||
buffer.writePacket(packet.objectB, 103)
|
||||
buffer.writeInt(packet.innerCompatibleValue)
|
||||
buffer.adjustPadding(201, beforeWriteIndex)
|
||||
pass
|
||||
|
||||
func read(buffer: ByteBuffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = ObjectA.new()
|
||||
var result0 = buffer.readInt()
|
||||
packet.a = result0
|
||||
var map1 = buffer.readIntStringMap()
|
||||
packet.m = map1
|
||||
var result2 = buffer.readPacket(103)
|
||||
packet.objectB = result2
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result3 = buffer.readInt()
|
||||
packet.innerCompatibleValue = result3
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
@@ -1,37 +1,41 @@
|
||||
const PROTOCOL_ID = 103
|
||||
const PROTOCOL_CLASS_NAME = "ObjectB"
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
|
||||
|
||||
var flag: bool
|
||||
var innerCompatibleValue: int
|
||||
class ObjectB:
|
||||
var flag: bool
|
||||
var innerCompatibleValue: int
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{flag:{}, innerCompatibleValue:{}}"
|
||||
var params = [self.flag, self.innerCompatibleValue]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{flag:{}, innerCompatibleValue:{}}"
|
||||
var params = [self.flag, self.innerCompatibleValue]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
static func write(buffer, packet):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(4)
|
||||
buffer.writeBool(packet.flag)
|
||||
buffer.writeInt(packet.innerCompatibleValue)
|
||||
buffer.adjustPadding(4, beforeWriteIndex)
|
||||
pass
|
||||
class ObjectBRegistration:
|
||||
func getProtocolId():
|
||||
return 103
|
||||
|
||||
static func read(buffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(PROTOCOL_ID)
|
||||
var result0 = buffer.readBool()
|
||||
packet.flag = result0
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result1 = buffer.readInt()
|
||||
packet.innerCompatibleValue = result1;
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
func write(buffer: ByteBuffer, packet: ObjectB):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(4)
|
||||
buffer.writeBool(packet.flag)
|
||||
buffer.writeInt(packet.innerCompatibleValue)
|
||||
buffer.adjustPadding(4, beforeWriteIndex)
|
||||
pass
|
||||
|
||||
func read(buffer: ByteBuffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = ObjectB.new()
|
||||
var result0 = buffer.readBool()
|
||||
packet.flag = result0
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result1 = buffer.readInt()
|
||||
packet.innerCompatibleValue = result1
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
@@ -1,34 +1,38 @@
|
||||
const PROTOCOL_ID = 104
|
||||
const PROTOCOL_CLASS_NAME = "SimpleObject"
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
|
||||
|
||||
var c: int
|
||||
var g: bool
|
||||
class SimpleObject:
|
||||
var c: int
|
||||
var g: bool
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{c:{}, g:{}}"
|
||||
var params = [self.c, self.g]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{c:{}, g:{}}"
|
||||
var params = [self.c, self.g]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
static func write(buffer, packet):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
buffer.writeInt(-1)
|
||||
buffer.writeInt(packet.c)
|
||||
buffer.writeBool(packet.g)
|
||||
pass
|
||||
class SimpleObjectRegistration:
|
||||
func getProtocolId():
|
||||
return 104
|
||||
|
||||
static func read(buffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(PROTOCOL_ID)
|
||||
var result0 = buffer.readInt()
|
||||
packet.c = result0
|
||||
var result1 = buffer.readBool()
|
||||
packet.g = result1
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
func write(buffer: ByteBuffer, packet: SimpleObject):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
buffer.writeInt(-1)
|
||||
buffer.writeInt(packet.c)
|
||||
buffer.writeBool(packet.g)
|
||||
pass
|
||||
|
||||
func read(buffer: ByteBuffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = SimpleObject.new()
|
||||
var result0 = buffer.readInt()
|
||||
packet.c = result0
|
||||
var result1 = buffer.readBool()
|
||||
packet.g = result1
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user