Commit graph

84 commits

Author SHA1 Message Date
e55a98c2a0 Add ecs::accessor::contains(uuid) 2024-06-27 16:51:25 +03:00
37a3d7f827 Fix ecs::dispatcher to work with ecs::without 2024-06-19 14:37:09 +03:00
faacf6dbc0 Tiny fix in ecs accessor is_empty constness 2024-06-16 20:41:39 +03:00
bd1393c505 Improve working with ecs caches, support retrieving ecs cache & table count, and fix ecs query container memory leak 2024-06-03 13:59:50 +03:00
68d4adcad2 Support reporting ECS memory usage 2024-06-03 11:35:37 +03:00
7279a5b6f5 Fix unused caches in ecs::dispatcher 2024-06-02 15:48:04 +03:00
fc18c75557 Fix ecs bug when finalizing removal of detached entity in the last row of the old table 2024-05-31 19:07:51 +03:00
0bfedccc7b Fix typo in ecs 2024-05-31 19:06:00 +03:00
b04456066b Fix ecs documentation 2024-05-27 18:51:35 +03:00
443fa3d8ca ECS object lifetime issues fixes 2024-05-24 21:42:17 +03:00
b9b18b800d Properly call constructors & destructors when attaching/detaching ECS components 2024-05-23 13:28:48 +03:00
cedc29f39a Allow creating ECS entities inside batch systems 2024-05-21 19:20:04 +03:00
eab13e2ae5 Track uuid->type mapping for ecs components and throw an exception when the same uuid is used for different components 2024-05-21 13:38:05 +03:00
6591dd1893 Remove unused includes in ecs/container.hpp 2024-05-21 13:37:25 +03:00
938aa688cc Fix registering const components 2024-05-21 13:23:14 +03:00
70b260ec50 Fix delete[] alignment in ecs table storage 2024-05-21 13:22:49 +03:00
933874eddf Add #pragmas in ecs::accessor to silence false-positive dangling reference warning in GCC 2024-05-21 13:22:27 +03:00
d9935c7476 Use std::list in ecs::query_cache to prevent reallocation problems 2024-05-21 13:21:49 +03:00
713a479eed Fix registering ecs constructors & destructors 2024-05-20 16:43:25 +03:00
1da8e341c5 Trigger constructors when cloning an ecs entity 2024-05-20 16:43:11 +03:00
2423547973 Bugfix: allow ecs constructors & destructors to mutate entities 2024-05-20 16:42:43 +03:00
045f399245 Refactor ecs::container::clone in terms of try_clone 2024-05-20 16:41:27 +03:00
d09bd76a14 Add a few debug assertions to ecs::container 2024-02-10 23:47:59 +03:00
04443b1e3a Support mutable lambdas in ecs::dispatcher 2024-02-05 13:04:53 +03:00
13a86a76c8 Add ecs::dispatcher - an event-based ECS system launcher 2024-02-03 15:22:33 +03:00
5533826711 Update ecs to-do list 2024-01-30 21:57:51 +03:00
92f02d8ac0 Fix computing ecs table query cache in the presence of without<> components 2024-01-30 21:57:21 +03:00
88677eb893 Make constructors & destructors operate on const components only in ecs 2024-01-30 21:56:55 +03:00
802bb1a74d Call constructors & destructors in ecs attach/detach 2024-01-30 21:56:30 +03:00
4b1d513cd6 Add ecs::handle comparison operators 2024-01-25 22:27:24 +03:00
46a49ef42d Support creating ecs index without passing the container 2024-01-10 00:44:23 +03:00
8fcaef4ba1 ECS index API wip: support creating & storing indices 2024-01-10 00:12:55 +03:00
080893ee96 Fix copying entities 2024-01-06 22:21:07 +03:00
5e64a4c216 Bugfix in ecs 2024-01-06 20:12:26 +03:00
451701726c Bugfix in ecs 2024-01-03 21:22:49 +03:00
a85e72a5b6 ECS destructors wip 2023-12-18 12:45:42 +03:00
028b4e1296 ECS constructors wip 2023-12-18 12:38:58 +03:00
0b1522722c Move ecs/entity_container.cpp -> ecs/container.cpp 2023-12-17 19:59:24 +03:00
bda4a156e7 Support registering components in ecs::container 2023-12-17 15:44:38 +03:00
3b5e649a31 Support cloning entities in ecs::container 2023-12-17 15:30:12 +03:00
9f86a8d71a Add some ecs todo's 2023-12-17 14:47:08 +03:00
5cb6421258 Clean up includes in libs/ecs 2023-12-17 12:53:28 +03:00
b3df337b8f Add ecs::system_set 2023-12-17 12:47:21 +03:00
340a5f4254 Support ecs::without 2023-12-16 23:01:06 +03:00
08b14ded93 Add static_assert to notify when a function is not invocable in ecs::container::apply & batch_apply 2023-12-16 21:55:59 +03:00
eb87f1ea20 Support const-qualified components in ecs::container::apply and add const-related docs 2023-12-16 21:51:45 +03:00
2a97a467aa Return query cache from ecs::container::apply and batch_apply 2023-12-16 21:33:13 +03:00
6a13a06187 Support const ecs::accessor and const-qualified component types in ecs::accessor::get 2023-12-16 20:06:40 +03:00
6833531edb More ecs::accessor docs 2023-12-16 19:58:17 +03:00
e1150a98fc Tidy up ecs library docs 2023-12-16 19:54:42 +03:00