First commit
This commit is contained in:
		@@ -0,0 +1,51 @@
 | 
			
		||||
function InputMessage:getData()
 | 
			
		||||
  local dataType = self:getU8()
 | 
			
		||||
  if dataType == NetworkMessageTypes.Boolean then
 | 
			
		||||
    return numbertoboolean(self:getU8())
 | 
			
		||||
  elseif dataType == NetworkMessageTypes.U8 then
 | 
			
		||||
    return self:getU8()
 | 
			
		||||
  elseif dataType == NetworkMessageTypes.U16 then
 | 
			
		||||
    return self:getU16()
 | 
			
		||||
  elseif dataType == NetworkMessageTypes.U32 then
 | 
			
		||||
    return self:getU32()
 | 
			
		||||
  elseif dataType == NetworkMessageTypes.U64 then
 | 
			
		||||
    return self:getU64()
 | 
			
		||||
  elseif dataType == NetworkMessageTypes.NumberString then
 | 
			
		||||
    return tonumber(self:getString())
 | 
			
		||||
  elseif dataType == NetworkMessageTypes.String then
 | 
			
		||||
    return self:getString()
 | 
			
		||||
  elseif dataType == NetworkMessageTypes.Table then
 | 
			
		||||
    return self:getTable()
 | 
			
		||||
  else
 | 
			
		||||
    perror('Unknown data type ' .. dataType)
 | 
			
		||||
  end
 | 
			
		||||
  return nil
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function InputMessage:getTable()
 | 
			
		||||
  local ret = {}
 | 
			
		||||
  local size = self:getU16()
 | 
			
		||||
  for i=1,size do
 | 
			
		||||
    local index = self:getData()
 | 
			
		||||
    local value = self:getData()
 | 
			
		||||
    ret[index] = value
 | 
			
		||||
  end
 | 
			
		||||
  return ret
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function InputMessage:getColor()
 | 
			
		||||
  local color = {}
 | 
			
		||||
  color.r = self:getU8()
 | 
			
		||||
  color.g = self:getU8()
 | 
			
		||||
  color.b = self:getU8()
 | 
			
		||||
  color.a = self:getU8()
 | 
			
		||||
  return color
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function InputMessage:getPosition()
 | 
			
		||||
  local position = {}
 | 
			
		||||
  position.x = self:getU16()
 | 
			
		||||
  position.y = self:getU16()
 | 
			
		||||
  position.z = self:getU8()
 | 
			
		||||
  return position
 | 
			
		||||
end
 | 
			
		||||
		Reference in New Issue
	
	Block a user