Files
evolved.lua/evolved/singles.lua
2024-11-21 01:02:12 +07:00

36 lines
784 B
Lua

local registry = require 'evolved.registry'
---@class evolved.singles
local singles = {}
---@param component any
---@return evolved.entity
---@nodiscard
function singles.create(component)
local single = registry.create_entity()
registry.insert_component(single, single, component)
return single
end
---@param single evolved.entity
---@return any
---@nodiscard
function singles.get(single)
return registry.get_component(single, single)
end
---@param single evolved.entity
---@return boolean
---@nodiscard
function singles.has(single)
return registry.has_component(single, single)
end
---@param single evolved.entity
---@param component any
function singles.assign(single, component)
registry.assign_component(single, single, component)
end
return singles