khanat-code-old/code/ryzom/common/data_common/r2/r2_refid.lua
2014-09-03 07:06:43 +02:00

24 lines
649 B
Lua

-- A reference id : object like a string but for reference ids
r2.RefIdMetatable =
{
__eq = function(op1, op2) return op1.Value == op2.Value end,
__le = function(op1, op2) return op1.Value <= op2.Value end,
__lt = function(op1, op2) return op1.Value < op2.Value end,
__tostring = function(op) return op.Value end
}
function r2.RefId(value)
assert(value ~= r2) -- in case of r2:RefId(value)
if value == nil then value = "" end
local refId = { Value = tostring(value) }
setmetatable(refId, r2.RefIdMetatable)
return refId
end
function r2.isRefId(value)
return type(value) == "table" and getmetatable(value) == r2.RefIdMetatable
end