From 632232b9b1e872de1c73ff5996002353c7577ed0 Mon Sep 17 00:00:00 2001 From: BlackMATov Date: Thu, 11 Sep 2025 01:27:54 +0700 Subject: [PATCH] dummy multi spawn api --- README.md | 48 +++++++++++++++++++++++++++++++++++++++++++++--- evolved.lua | 42 ++++++++++++++++++++++++++++++++++++++---- 2 files changed, 83 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 568c5e9..e506525 100644 --- a/README.md +++ b/README.md @@ -1103,7 +1103,10 @@ defer :: boolean commit :: boolean spawn :: ? -> entity +multi_spawn :: integer, ? -> entity[] + clone :: entity -> ? -> entity +multi_clone :: integer, entity -> ? -> entity alive :: entity -> boolean alive_all :: entity... -> boolean @@ -1163,7 +1166,10 @@ chunk_mt:components :: fragment... -> storage... builder :: builder builder_mt:spawn :: entity +builder_mt:multi_spawn :: integer -> entity[] + builder_mt:clone :: entity -> entity +builder_mt:multi_clone :: integer, entity -> entity[] builder_mt:has :: fragment -> boolean builder_mt:has_all :: fragment... -> boolean @@ -1342,15 +1348,34 @@ function evolved.commit() end function evolved.spawn(components) end ``` +### `evolved.multi_spawn` + +```lua +---@param count integer +---@param components? table +---@return evolved.entity[] entity_list +function evolved.multi_spawn(count, components) end +``` + ### `evolved.clone` ```lua ---@param prefab evolved.entity ---@param components? table ----@return evolved.entity +---@return evolved.entity entity function evolved.clone(prefab, components) end ``` +### `evolved.multi_clone` + +```lua +---@param count integer +---@param prefab evolved.entity +---@param components? table +---@return evolved.entity[] entity_list +function evolved.multi_clone(count, prefab, components) end +``` + ### `evolved.alive` ```lua @@ -1646,18 +1671,35 @@ function evolved.builder() end #### `evolved.builder_mt:spawn` ```lua ----@return evolved.entity +---@return evolved.entity entity function evolved.builder_mt:spawn() end ``` +#### `evolved.builder_mt:multi_spawn` + +```lua +---@param count integer +---@return evolved.entity[] entity_list +function evolved.builder_mt:multi_spawn(count) end +``` + #### `evolved.builder_mt:clone` ```lua ---@param prefab evolved.entity ----@return evolved.entity +---@return evolved.entity entity function evolved.builder_mt:clone(prefab) end ``` +#### `evolved.builder_mt:multi_clone` + +```lua +---@param count integer +---@param prefab evolved.entity +---@return evolved.entity[] entity_list +function evolved.builder_mt:multi_clone(count, prefab) end +``` + #### `evolved.builder_mt:has` ```lua diff --git a/evolved.lua b/evolved.lua index 8bacfa5..ec92b07 100644 --- a/evolved.lua +++ b/evolved.lua @@ -794,7 +794,10 @@ local __evolved_defer local __evolved_commit local __evolved_spawn +local __evolved_multi_spawn + local __evolved_clone +local __evolved_multi_clone local __evolved_alive local __evolved_alive_all @@ -4020,7 +4023,7 @@ function __evolved_commit() end ---@param components? table ----@return evolved.entity +---@return evolved.entity entity function __evolved_spawn(components) if not components then components = __safe_tbls.__EMPTY_COMPONENT_MAP @@ -4050,9 +4053,16 @@ function __evolved_spawn(components) return entity end +---@param count integer +---@param components? table +---@return evolved.entity[] entity_list +function __evolved_multi_spawn(count, components) + __error_fmt('not implemented yet') +end + ---@param prefab evolved.entity ---@param components? table ----@return evolved.entity +---@return evolved.entity entity function __evolved_clone(prefab, components) if not components then components = __safe_tbls.__EMPTY_COMPONENT_MAP @@ -4087,6 +4097,14 @@ function __evolved_clone(prefab, components) return entity end +---@param count integer +---@param prefab evolved.entity +---@param components? table +---@return evolved.entity[] entity_list +function __evolved_multi_clone(count, prefab, components) + __error_fmt('not implemented yet') +end + ---@param entity evolved.entity ---@return boolean ---@nodiscard @@ -5382,17 +5400,30 @@ function __builder_mt:__tostring() return __lua_string_format('<%s>', __lua_table_concat(fragment_names, ', ')) end ----@return evolved.entity +---@return evolved.entity entity function __builder_mt:spawn() return __evolved_spawn(self.__components) end +---@param count integer +---@return evolved.entity[] entity_list +function __builder_mt:multi_spawn(count) + __error_fmt('not implemented yet') +end + ---@param prefab evolved.entity ----@return evolved.entity +---@return evolved.entity entity function __builder_mt:clone(prefab) return __evolved_clone(prefab, self.__components) end +---@param count integer +---@param prefab evolved.entity +---@return evolved.entity[] entity_list +function __builder_mt:multi_clone(count, prefab) + __error_fmt('not implemented yet') +end + ---@param fragment evolved.fragment ---@return boolean ---@nodiscard @@ -6130,7 +6161,10 @@ evolved.defer = __evolved_defer evolved.commit = __evolved_commit evolved.spawn = __evolved_spawn +evolved.multi_spawn = __evolved_multi_spawn + evolved.clone = __evolved_clone +evolved.multi_clone = __evolved_multi_clone evolved.alive = __evolved_alive evolved.alive_all = __evolved_alive_all