mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-08-05 12:24:17 +00:00
test[gdscript]: gdscript protocol test
This commit is contained in:
@@ -70,6 +70,9 @@ func isReadable() -> bool:
|
||||
func toBytes() -> PackedByteArray:
|
||||
return buffer.data_array.slice(0, writeOffset)
|
||||
|
||||
func newInstance(protocolId: int):
|
||||
return ProtocolManager.newInstance(protocolId)
|
||||
|
||||
# -------------------------------------------------write/read-------------------------------------------------
|
||||
func writeBytes(value: PackedByteArray):
|
||||
var length: int = value.size()
|
||||
|
||||
@@ -8,30 +8,22 @@ const SimpleObject = preload("res://zfoogd/packet/SimpleObject.gd")
|
||||
|
||||
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
|
||||
protocolClassMap[0] = EmptyObject
|
||||
protocols[1] = VeryBigObject.VeryBigObjectRegistration.new()
|
||||
protocolClassMap[1] = VeryBigObject.VeryBigObject
|
||||
protocolIdMap[VeryBigObject.VeryBigObject] = 1
|
||||
protocolClassMap[1] = VeryBigObject
|
||||
protocols[100] = ComplexObject.ComplexObjectRegistration.new()
|
||||
protocolClassMap[100] = ComplexObject.ComplexObject
|
||||
protocolIdMap[ComplexObject.ComplexObject] = 100
|
||||
protocolClassMap[100] = ComplexObject
|
||||
protocols[101] = NormalObject.NormalObjectRegistration.new()
|
||||
protocolClassMap[101] = NormalObject.NormalObject
|
||||
protocolIdMap[NormalObject.NormalObject] = 101
|
||||
protocolClassMap[101] = NormalObject
|
||||
protocols[102] = ObjectA.ObjectARegistration.new()
|
||||
protocolClassMap[102] = ObjectA.ObjectA
|
||||
protocolIdMap[ObjectA.ObjectA] = 102
|
||||
protocolClassMap[102] = ObjectA
|
||||
protocols[103] = ObjectB.ObjectBRegistration.new()
|
||||
protocolClassMap[103] = ObjectB.ObjectB
|
||||
protocolIdMap[ObjectB.ObjectB] = 103
|
||||
protocolClassMap[103] = ObjectB
|
||||
protocols[104] = SimpleObject.SimpleObjectRegistration.new()
|
||||
protocolClassMap[104] = SimpleObject.SimpleObject
|
||||
protocolIdMap[SimpleObject.SimpleObject] = 104
|
||||
protocolClassMap[104] = SimpleObject
|
||||
pass
|
||||
|
||||
static func getProtocol(protocolId: int):
|
||||
@@ -40,8 +32,12 @@ static func getProtocol(protocolId: int):
|
||||
static func getProtocolClass(protocolId: int):
|
||||
return protocolClassMap[protocolId]
|
||||
|
||||
static func newInstance(protocolId: int):
|
||||
var protocol = protocolClassMap[protocolId]
|
||||
return protocol.new()
|
||||
|
||||
static func write(buffer, packet):
|
||||
var protocolId: int = protocolIdMap[packet.get_script()]
|
||||
var protocolId: int = packet.protocolId()
|
||||
buffer.writeShort(protocolId)
|
||||
var protocol = protocols[protocolId]
|
||||
protocol.write(buffer, packet)
|
||||
|
||||
@@ -1,73 +1,75 @@
|
||||
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
|
||||
const ObjectA = preload("res://zfoogd/packet/ObjectA.gd")
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd")
|
||||
|
||||
# 复杂的对象,包括了各种复杂的结构,数组,List,Set,Map
|
||||
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
|
||||
# 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 protocolId() -> int:
|
||||
return 100
|
||||
|
||||
func get_class_name() -> String:
|
||||
return "ComplexObject"
|
||||
|
||||
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, "{}")
|
||||
|
||||
class ComplexObjectRegistration:
|
||||
func getProtocolId():
|
||||
return 100
|
||||
|
||||
func write(buffer: ByteBuffer, packet: ComplexObject):
|
||||
func write(buffer: ByteBuffer, packet: Object):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
@@ -216,7 +218,7 @@ class ComplexObjectRegistration:
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = ComplexObject.new()
|
||||
var packet = buffer.newInstance(100)
|
||||
var result0 = buffer.readByte()
|
||||
packet.a = result0
|
||||
var result1 = buffer.readByte()
|
||||
|
||||
@@ -1,19 +1,21 @@
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
|
||||
|
||||
class EmptyObject:
|
||||
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{}"
|
||||
var params = []
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
func protocolId() -> int:
|
||||
return 0
|
||||
|
||||
func get_class_name() -> String:
|
||||
return "EmptyObject"
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{}"
|
||||
var params = []
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
class EmptyObjectRegistration:
|
||||
func getProtocolId():
|
||||
return 0
|
||||
|
||||
func write(buffer: ByteBuffer, packet: EmptyObject):
|
||||
func write(buffer: ByteBuffer, packet: Object):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
@@ -25,7 +27,7 @@ class EmptyObjectRegistration:
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = EmptyObject.new()
|
||||
var packet = buffer.newInstance(0)
|
||||
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
|
||||
@@ -1,41 +1,43 @@
|
||||
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
|
||||
const ObjectA = preload("res://zfoogd/packet/ObjectA.gd")
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd")
|
||||
|
||||
# 常规的对象,取所有语言语法的交集,基本上所有语言都支持下面的语法
|
||||
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
|
||||
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 protocolId() -> int:
|
||||
return 101
|
||||
|
||||
func get_class_name() -> String:
|
||||
return "NormalObject"
|
||||
|
||||
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, "{}")
|
||||
|
||||
class NormalObjectRegistration:
|
||||
func getProtocolId():
|
||||
return 101
|
||||
|
||||
func write(buffer: ByteBuffer, packet: NormalObject):
|
||||
func write(buffer: ByteBuffer, packet: Object):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
@@ -69,7 +71,7 @@ class NormalObjectRegistration:
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = NormalObject.new()
|
||||
var packet = buffer.newInstance(101)
|
||||
var result0 = buffer.readByte()
|
||||
packet.a = result0
|
||||
var array1 = buffer.readByteArray()
|
||||
|
||||
@@ -1,23 +1,25 @@
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd").ObjectB
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd")
|
||||
|
||||
|
||||
class ObjectA:
|
||||
var a: int
|
||||
var m: Dictionary # Map<number, string>
|
||||
var objectB: ObjectB
|
||||
var innerCompatibleValue: int
|
||||
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, "{}")
|
||||
func protocolId() -> int:
|
||||
return 102
|
||||
|
||||
func get_class_name() -> String:
|
||||
return "ObjectA"
|
||||
|
||||
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 ObjectARegistration:
|
||||
func getProtocolId():
|
||||
return 102
|
||||
|
||||
func write(buffer: ByteBuffer, packet: ObjectA):
|
||||
func write(buffer: ByteBuffer, packet: Object):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
@@ -35,7 +37,7 @@ class ObjectARegistration:
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = ObjectA.new()
|
||||
var packet = buffer.newInstance(102)
|
||||
var result0 = buffer.readInt()
|
||||
packet.a = result0
|
||||
var map1 = buffer.readIntStringMap()
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
|
||||
|
||||
class ObjectB:
|
||||
var flag: bool
|
||||
var innerCompatibleValue: int
|
||||
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 protocolId() -> int:
|
||||
return 103
|
||||
|
||||
func get_class_name() -> String:
|
||||
return "ObjectB"
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{flag:{}, innerCompatibleValue:{}}"
|
||||
var params = [self.flag, self.innerCompatibleValue]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
class ObjectBRegistration:
|
||||
func getProtocolId():
|
||||
return 103
|
||||
|
||||
func write(buffer: ByteBuffer, packet: ObjectB):
|
||||
func write(buffer: ByteBuffer, packet: Object):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
@@ -30,7 +32,7 @@ class ObjectBRegistration:
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = ObjectB.new()
|
||||
var packet = buffer.newInstance(103)
|
||||
var result0 = buffer.readBool()
|
||||
packet.flag = result0
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
|
||||
|
||||
class SimpleObject:
|
||||
var c: int
|
||||
var g: bool
|
||||
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 protocolId() -> int:
|
||||
return 104
|
||||
|
||||
func get_class_name() -> String:
|
||||
return "SimpleObject"
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{c:{}, g:{}}"
|
||||
var params = [self.c, self.g]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
class SimpleObjectRegistration:
|
||||
func getProtocolId():
|
||||
return 104
|
||||
|
||||
func write(buffer: ByteBuffer, packet: SimpleObject):
|
||||
func write(buffer: ByteBuffer, packet: Object):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
@@ -28,7 +30,7 @@ class SimpleObjectRegistration:
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = SimpleObject.new()
|
||||
var packet = buffer.newInstance(104)
|
||||
var result0 = buffer.readInt()
|
||||
packet.c = result0
|
||||
var result1 = buffer.readBool()
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user