Commit graph

41 commits

Author SHA1 Message Date
424bf5f533 Add ecs::container::detach_finally/destroy_finally helpers 2025-10-10 16:01:17 +03:00
4a4f680d0a Add debug assertions for when an entity's archetype is changed while it is being created/destroyed 2025-10-10 16:01:00 +03:00
083e5841aa Add ecs::container::finally mechanism 2025-04-10 11:57:50 +03:00
e5811b61a0 Fix triggering constructor & destructor callbacks when attaching/detaching ecs components 2025-03-06 18:20:40 +03:00
cd31187d3f Add missing include 2025-02-02 21:28:59 +03:00
cca966b33e Fix missing include 2025-01-30 12:38:10 +03:00
bfa0491f39 Support retrieving ECS table statistics 2024-11-29 01:15:35 +03:00
80b4cc938d Fix constructors & destructors order
Order of callbacks was affected by the order of caches, which are pretty
much arbitrary. For a fix, explicitly order the callbacks globally
per-world.
2024-11-28 18:55:17 +03:00
ad752f0ea1 Separate ordered & unordered component hashes in ecs 2024-11-18 16:55:39 +03:00
655dd2778f Implement string entity description in ecs 2024-09-01 23:59:31 +03:00
d032f93eb3 Support retrieving entity count from ecs::container 2024-08-29 15:52:21 +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
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
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
1da8e341c5 Trigger constructors when cloning an ecs entity 2024-05-20 16:43:11 +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
080893ee96 Fix copying entities 2024-01-06 22:21:07 +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
3b5e649a31 Support cloning entities in ecs::container 2023-12-17 15:30:12 +03:00
340a5f4254 Support ecs::without 2023-12-16 23:01:06 +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
76c91e50c1 New gcc compilation fixes 2023-10-03 21:32:13 +03:00
8b1157c641 Implement ecs::entity_container::attach/detach 2023-08-26 18:24:10 +03:00
59c803d31c ECS library wip: rewrite tables using explicit columns 2023-08-26 12:33:14 +03:00
31ffd4dc54 Remove component bitsets from ecs; use uuid hash tables instead 2023-08-24 17:33:19 +03:00
dbeee752b7 Speed up searching for ecs table columns using a hash_map<uuid, column_id> 2023-08-24 16:26:29 +03:00
b99371dc29 Support removing ecs entities while iterating over them using apply 2023-08-23 16:10:39 +03:00
72508eb445 Support ecs::entity_container::batch_apply & store full entity handles (instead of entity IDs) in ECS tables 2023-08-23 12:58:00 +03:00
82682c0317 Refactor ecs::entity_container & add documentation 2023-08-22 22:36:04 +03:00
c1991cbb57 ECS library wip: support explicit query cache 2023-08-22 21:18:53 +03:00
e0e0df8128 ECS library wip & tests 2023-08-22 20:30:04 +03:00
63008d62ff ECS library wip 2023-08-22 14:53:03 +03:00