mirror of
https://github.com/BlackMATov/evolved.lua.git
synced 2025-12-14 20:11:27 +07:00
new evolved.fragments function
This commit is contained in:
@@ -94,7 +94,9 @@ batch_multi_remove :: query, fragment[] -> integer, boolean
|
|||||||
|
|
||||||
chunk :: fragment... -> chunk?, entity[]?, integer?
|
chunk :: fragment... -> chunk?, entity[]?, integer?
|
||||||
select :: chunk, fragment... -> component[]...
|
select :: chunk, fragment... -> component[]...
|
||||||
|
|
||||||
entities :: chunk -> entity[], integer
|
entities :: chunk -> entity[], integer
|
||||||
|
fragments :: chunk -> fragment[], integer
|
||||||
|
|
||||||
each :: entity -> {each_state? -> fragment?, component?}, each_state?
|
each :: entity -> {each_state? -> fragment?, component?}, each_state?
|
||||||
execute :: query -> {execute_state? -> chunk?, entity[]?, integer?}, execute_state?
|
execute :: query -> {execute_state? -> chunk?, entity[]?, integer?}, execute_state?
|
||||||
|
|||||||
@@ -7119,3 +7119,19 @@ do
|
|||||||
assert(evo.get(f2, evo.ON_DESTROY) == evo.DESTROY_ENTITY_POLICY)
|
assert(evo.get(f2, evo.ON_DESTROY) == evo.DESTROY_ENTITY_POLICY)
|
||||||
assert(evo.get(f3, evo.ON_DESTROY) == evo.REMOVE_FRAGMENT_POLICY)
|
assert(evo.get(f3, evo.ON_DESTROY) == evo.REMOVE_FRAGMENT_POLICY)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
do
|
||||||
|
local f1, f2, f3 = evo.id(3)
|
||||||
|
|
||||||
|
local c1 = evo.chunk(f1)
|
||||||
|
local c23 = evo.chunk(f2, f3)
|
||||||
|
|
||||||
|
assert(c1 and c23)
|
||||||
|
|
||||||
|
assert(#evo.fragments(c1) == 1)
|
||||||
|
assert(evo.fragments(c1)[1] == f1)
|
||||||
|
|
||||||
|
assert(#evo.fragments(c23) == 2)
|
||||||
|
assert(evo.fragments(c23)[1] == f2)
|
||||||
|
assert(evo.fragments(c23)[2] == f3)
|
||||||
|
end
|
||||||
|
|||||||
11
evolved.lua
11
evolved.lua
@@ -635,6 +635,7 @@ local __evolved_batch_multi_remove
|
|||||||
local __evolved_chunk
|
local __evolved_chunk
|
||||||
local __evolved_select
|
local __evolved_select
|
||||||
local __evolved_entities
|
local __evolved_entities
|
||||||
|
local __evolved_fragments
|
||||||
|
|
||||||
local __evolved_each
|
local __evolved_each
|
||||||
local __evolved_execute
|
local __evolved_execute
|
||||||
@@ -6443,6 +6444,14 @@ __evolved_entities = function(chunk)
|
|||||||
return chunk.__entities, chunk.__entity_count
|
return chunk.__entities, chunk.__entity_count
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---@param chunk evolved.chunk
|
||||||
|
---@return evolved.fragment[] fragments
|
||||||
|
---@return integer fragment_count
|
||||||
|
---@nodiscard
|
||||||
|
__evolved_fragments = function(chunk)
|
||||||
|
return chunk.__fragment_list, chunk.__fragment_count
|
||||||
|
end
|
||||||
|
|
||||||
---@param entity evolved.entity
|
---@param entity evolved.entity
|
||||||
---@return evolved.each_iterator iterator
|
---@return evolved.each_iterator iterator
|
||||||
---@return evolved.each_state? iterator_state
|
---@return evolved.each_state? iterator_state
|
||||||
@@ -7755,7 +7764,9 @@ evolved.batch_multi_remove = __evolved_batch_multi_remove
|
|||||||
|
|
||||||
evolved.chunk = __evolved_chunk
|
evolved.chunk = __evolved_chunk
|
||||||
evolved.select = __evolved_select
|
evolved.select = __evolved_select
|
||||||
|
|
||||||
evolved.entities = __evolved_entities
|
evolved.entities = __evolved_entities
|
||||||
|
evolved.fragments = __evolved_fragments
|
||||||
|
|
||||||
evolved.each = __evolved_each
|
evolved.each = __evolved_each
|
||||||
evolved.execute = __evolved_execute
|
evolved.execute = __evolved_execute
|
||||||
|
|||||||
Reference in New Issue
Block a user