BlackMATov 5db56b094d Happy New Year! 🥳
2025-01-02 07:58:29 +07:00
2024-12-31 08:10:19 +07:00
2024-11-10 20:13:02 +07:00
2024-12-21 21:28:09 +07:00
2025-01-02 07:58:29 +07:00
2025-01-02 07:58:29 +07:00

evolved.lua (work in progress)

Evolved Entity-Component-System for Lua

language license

Requirements

Predefs

TAG :: fragment

DEFAULT :: fragment
CONSTRUCT :: fragment

ON_SET :: fragment
ON_ASSIGN :: fragment
ON_INSERT :: fragment
ON_REMOVE :: fragment

INCLUDE_LIST :: fragment
EXCLUDE_LIST :: fragment

Functions

id :: integer? -> id...

pack :: integer, integer -> id
unpack :: id -> integer, integer

defer :: boolean
commit :: boolean

is_alive :: entity -> boolean
is_empty :: entity -> boolean

get :: entity, fragment...  -> component...
has :: entity, fragment -> boolean
has_all :: entity, fragment... -> boolean
has_any :: entity, fragment... -> boolean

set :: entity, fragment, any... -> boolean, boolean
assign :: entity, fragment, any... -> boolean, boolean
insert :: entity, fragment, any... -> boolean, boolean
remove :: entity, fragment... -> boolean, boolean
clear :: entity -> boolean, boolean
destroy :: entity -> boolean, boolean

batch_set :: query, fragment, any... -> integer, boolean
batch_assign :: query, fragment, any... -> integer, boolean
batch_insert :: query, fragment, any... -> integer, boolean
batch_remove :: query, fragment... -> integer, boolean
batch_clear :: query -> integer, boolean
batch_destroy :: query -> integer, boolean

chunk :: fragment... -> chunk?, entity[]?
select :: chunk, fragment... -> component[]...

each :: entity -> {each_state? -> fragment?, component?}, each_state?
execute :: query -> {execute_state? -> chunk?, entity[]?}, execute_state?

License (MIT)

Description
Evolved ECS (Entity-Component-System) for Lua
Readme 6.6 MiB
Languages
Lua 100%