mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-05-21 14:26:56 +00:00
feat[py]: python compatible field support
This commit is contained in:
@@ -2,23 +2,36 @@
|
||||
class ObjectB:
|
||||
|
||||
flag = False # bool
|
||||
innerCompatibleValue = 0 # int
|
||||
|
||||
def protocolId(self):
|
||||
return 103
|
||||
|
||||
@classmethod
|
||||
def write(cls, buffer, packet):
|
||||
if buffer.writePacketFlag(packet):
|
||||
if packet is None:
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(4)
|
||||
buffer.writeBool(packet.flag)
|
||||
buffer.writeInt(packet.innerCompatibleValue)
|
||||
buffer.adjustPadding(4, beforeWriteIndex)
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
def read(cls, buffer):
|
||||
if not buffer.readBool():
|
||||
length = buffer.readInt()
|
||||
if length == 0:
|
||||
return None
|
||||
beforeReadIndex = buffer.getReadOffset()
|
||||
packet = ObjectB()
|
||||
result0 = buffer.readBool()
|
||||
packet.flag = result0
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
result1 = buffer.readInt()
|
||||
packet.innerCompatibleValue = result1
|
||||
if length > 0:
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
|
||||
|
||||
Reference in New Issue
Block a user