From 664636a5c83efc0a271e9cc96aa092bc99a4cd5a Mon Sep 17 00:00:00 2001 From: BlackMATov Date: Sat, 8 Feb 2025 17:18:04 +0700 Subject: [PATCH] execute returns chunk entity count now --- README.md | 2 +- develop/untests.lua | 3 ++- evolved.lua | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8c91d19..8788a5d 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ chunk :: fragment... -> chunk?, entity[]? select :: chunk, fragment... -> component[]... 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? ``` ``` diff --git a/develop/untests.lua b/develop/untests.lua index 7e19f70..67ac21c 100644 --- a/develop/untests.lua +++ b/develop/untests.lua @@ -2524,7 +2524,8 @@ do ---@return evolved.entity[] local function collect_entities(q) 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 entities[#entities + 1] = e end diff --git a/evolved.lua b/evolved.lua index ad785b3..f3e4b5f 100644 --- a/evolved.lua +++ b/evolved.lua @@ -77,7 +77,7 @@ local evolved = { ---@field package [3] table exclude_set ---@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 if chunk_entity_count > 0 then - return chunk, chunk_entities + return chunk, chunk_entities, chunk_entity_count end end