perf[protocol]: 使用模板生成协议

This commit is contained in:
jaysunxiao
2022-05-18 18:35:12 +08:00
parent 5eb2530eae
commit d4ded2dd19
15 changed files with 99 additions and 144 deletions
@@ -0,0 +1,43 @@
-- @author jaysunxiao
-- @version 1.0
-- @since 2021-03-27 15:18
local SimpleObject = {}
function SimpleObject:new(c, g)
local obj = {
c = c, -- int
g = g -- boolean
}
setmetatable(obj, self)
self.__index = self
return obj
end
function SimpleObject:protocolId()
return 1163
end
function SimpleObject:write(byteBuffer, packet)
if packet == null then
byteBuffer:writeBoolean(false)
return
end
byteBuffer:writeBoolean(true)
byteBuffer:writeInt(packet.c)
byteBuffer:writeBoolean(packet.g)
end
function SimpleObject:read(byteBuffer)
if not(byteBuffer:readBoolean()) then
return nil
end
local packet = SimpleObject:new()
local result0 = byteBuffer:readInt()
packet.c = result0
local result1 = byteBuffer:readBoolean()
packet.g = result1
return packet
end
return SimpleObject