mirror of
https://github.com/BlackMATov/evolved.lua.git
synced 2025-12-15 04:15:28 +07:00
execute returns chunk entity count now
This commit is contained in:
@@ -82,7 +82,7 @@ chunk :: fragment... -> chunk?, entity[]?
|
|||||||
select :: chunk, fragment... -> component[]...
|
select :: chunk, fragment... -> component[]...
|
||||||
|
|
||||||
each :: entity -> {each_state? -> fragment?, component?}, each_state?
|
each :: entity -> {each_state? -> fragment?, component?}, each_state?
|
||||||
execute :: query -> {execute_state? -> chunk?, entity[]?}, execute_state?
|
execute :: query -> {execute_state? -> chunk?, entity[]?, integer?}, execute_state?
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -2524,7 +2524,8 @@ do
|
|||||||
---@return evolved.entity[]
|
---@return evolved.entity[]
|
||||||
local function collect_entities(q)
|
local function collect_entities(q)
|
||||||
local entities = {}
|
local entities = {}
|
||||||
for _, es in evo.execute(q) do
|
for _, es, es_count in evo.execute(q) do
|
||||||
|
assert(#es == es_count)
|
||||||
for _, e in ipairs(es) do
|
for _, e in ipairs(es) do
|
||||||
entities[#entities + 1] = e
|
entities[#entities + 1] = e
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ local evolved = {
|
|||||||
---@field package [3] table<evolved.fragment, boolean> exclude_set
|
---@field package [3] table<evolved.fragment, boolean> exclude_set
|
||||||
|
|
||||||
---@alias evolved.each_iterator fun(state: evolved.each_state?): evolved.fragment?, evolved.component?
|
---@alias evolved.each_iterator fun(state: evolved.each_state?): evolved.fragment?, evolved.component?
|
||||||
---@alias evolved.execute_iterator fun(state: evolved.execute_state?): evolved.chunk?, evolved.entity[]?
|
---@alias evolved.execute_iterator fun(state: evolved.execute_state?): evolved.chunk?, evolved.entity[]?, integer?
|
||||||
|
|
||||||
---
|
---
|
||||||
---
|
---
|
||||||
@@ -376,7 +376,7 @@ local function __execute_iterator(execute_state)
|
|||||||
local chunk_entity_count = chunk.__entity_count
|
local chunk_entity_count = chunk.__entity_count
|
||||||
|
|
||||||
if chunk_entity_count > 0 then
|
if chunk_entity_count > 0 then
|
||||||
return chunk, chunk_entities
|
return chunk, chunk_entities, chunk_entity_count
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user