62 lines
1.6 KiB
Smarty
62 lines
1.6 KiB
Smarty
local function InitTypes(methods)
|
|
local readBool = methods.readBool
|
|
local readByte = methods.readByte
|
|
local readShort = methods.readShort
|
|
local readFshort = methods.readFshort
|
|
local readInt = methods.readInt
|
|
local readFint = methods.readFint
|
|
local readLong = methods.readLong
|
|
local readFlong = methods.readFlong
|
|
local readFloat = methods.readFloat
|
|
local readDouble = methods.readDouble
|
|
local readSize = methods.readSize
|
|
|
|
local readString = methods.readString
|
|
|
|
local function readVector2(bs)
|
|
return { x = readFloat(bs), y = readFloat(bs) }
|
|
end
|
|
|
|
local function readVector3(bs)
|
|
return { x = readFloat(bs), y = readFloat(bs), z = readFloat(bs) }
|
|
end
|
|
|
|
local function readVector4(bs)
|
|
return { x = readFloat(bs), y = readFloat(bs), z = readFloat(bs), w = readFloat(bs) }
|
|
end
|
|
|
|
local function readList(bs, keyFun)
|
|
local list = {}
|
|
local v
|
|
for i = 1, readSize(bs) do
|
|
tinsert(list, keyFun(bs))
|
|
end
|
|
return list
|
|
end
|
|
|
|
local readArray = readList
|
|
|
|
local function readSet(bs, keyFun)
|
|
local set = {}
|
|
local v
|
|
for i = 1, readSize(bs) do
|
|
tinsert(set, keyFun(bs))
|
|
end
|
|
return set
|
|
end
|
|
|
|
local function readMap(bs, keyFun, valueFun)
|
|
local map = {}
|
|
for i = 1, readSize(bs) do
|
|
local k = keyFun(bs)
|
|
local v = valueFun(bs)
|
|
map[k] = v
|
|
end
|
|
return map
|
|
end
|
|
|
|
local function readNullableBool(bs)
|
|
if readBool(bs) then
|
|
return readBool(bs)
|
|
end
|
|
end |