Commit graph

75 commits

Author SHA1 Message Date
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
c7cad03f0a Rename ecs::registration_token -> ecs::token 2023-12-16 18:53:50 +03:00
76e43590e9 Update ecs::container comments 2023-12-16 16:42:49 +03:00
fa87ab4425 Rename ecs::entity_container -> ecs::container 2023-12-16 16:35:04 +03:00
1a133f2d3e Rename ecs::entity_accessor -> ecs::accessor 2023-12-16 16:32:46 +03:00
95b26d890e Rename ecs::entity_handle -> ecs::handle 2023-12-16 16:29:54 +03:00
d48bbc91a6 Rename psemek_declare_uuid -> psemek_ecs_declare_uuid 2023-12-16 16:18:50 +03:00
76c91e50c1 New gcc compilation fixes 2023-10-03 21:32:13 +03:00
85a6ade2cb More ECS API todo's 2023-08-26 22:53:00 +03:00
e16ebb8822 Add some ECS API todo's 2023-08-26 22:12:25 +03:00