evolved state without registry in api

This commit is contained in:
BlackMATov
2024-11-21 00:27:51 +07:00
parent 053725355a
commit c13ea001d5
3 changed files with 9 additions and 22 deletions

View File

@@ -2,25 +2,23 @@ local evolved = require 'evolved.evolved'
local evolved_singles = require 'evolved.singles' local evolved_singles = require 'evolved.singles'
local evolved_vectors = require 'evolved.vectors' local evolved_vectors = require 'evolved.vectors'
local registry = evolved.create_registry()
local singles = { local singles = {
delta_time = evolved_singles.create(registry, 0.016), delta_time = evolved_singles.create(0.016),
} }
local fragments = { local fragments = {
position = evolved.create_entity(registry), position = evolved.create_entity(),
velocity = evolved.create_entity(registry), velocity = evolved.create_entity(),
} }
local queries = { local queries = {
bodies = evolved.create_query(registry, bodies = evolved.create_query(
fragments.position, fragments.position,
fragments.velocity), fragments.velocity),
} }
do do
local entity = evolved.create_entity(registry) local entity = evolved.create_entity()
local position = evolved_vectors.vector2(512, 50) local position = evolved_vectors.vector2(512, 50)
local velocity = evolved_vectors.vector2(math.random(-20, 20), 20) local velocity = evolved_vectors.vector2(math.random(-20, 20), 20)
evolved.insert_component(entity, fragments.position, position) evolved.insert_component(entity, fragments.position, position)

View File

@@ -1,10 +1,6 @@
---@class evolved ---@class evolved
local evolved = {} local evolved = {}
---@class evolved.registry
local evolved_registry_mt = {}
evolved_registry_mt.__index = evolved_registry_mt
---@class evolved.entity ---@class evolved.entity
local evolved_entity_mt = {} local evolved_entity_mt = {}
evolved_entity_mt.__index = evolved_entity_mt evolved_entity_mt.__index = evolved_entity_mt
@@ -19,14 +15,9 @@ evolved_query_mt.__index = evolved_query_mt
local evolved_chunk_mt = {} local evolved_chunk_mt = {}
evolved_chunk_mt.__index = evolved_chunk_mt evolved_chunk_mt.__index = evolved_chunk_mt
---@return evolved.registry
---@nodiscard
function evolved.create_registry() end
---@param registry evolved.registry
---@return evolved.entity ---@return evolved.entity
---@nodiscard ---@nodiscard
function evolved.create_entity(registry) end function evolved.create_entity() end
---@param entity evolved.entity ---@param entity evolved.entity
function evolved.destroy_entity(entity) end function evolved.destroy_entity(entity) end
@@ -69,11 +60,10 @@ function evolved.insert_component(entity, fragment, component) end
---@param fragment evolved.entity ---@param fragment evolved.entity
function evolved.remove_component(entity, fragment) end function evolved.remove_component(entity, fragment) end
---@param registry evolved.registry
---@param ... evolved.entity ---@param ... evolved.entity
---@return evolved.query ---@return evolved.query
---@nodiscard ---@nodiscard
function evolved.create_query(registry, ...) end function evolved.create_query(...) end
---@param query evolved.query ---@param query evolved.query
---@return fun(): evolved.chunk? ---@return fun(): evolved.chunk?

View File

@@ -3,12 +3,11 @@ local evolved = require 'evolved.evolved'
---@class evolved.singles ---@class evolved.singles
local singles = {} local singles = {}
---@param registry evolved.registry
---@param component any ---@param component any
---@return evolved.entity ---@return evolved.entity
---@nodiscard ---@nodiscard
function singles.create(registry, component) function singles.create(component)
local single = evolved.create_entity(registry) local single = evolved.create_entity()
evolved.insert_component(single, single, component) evolved.insert_component(single, single, component)
return single return single
end end