Commit graph

103 commits

Author SHA1 Message Date
Ukendio
ca3cc06400 Traverse refs for deletion 2024-10-01 17:30:51 +02:00
Axen
a090dd7a73
Remove world:target debug error (#137)
* Removed error about needing `index` in `world:target`

* The `index` parameter was made optional in #131

* Re-added `world.target` wrapper

* Remove world.target and world.remove wrappers

---------

Co-authored-by: EncodedVenom <32179912+EncodedVenom@users.noreply.github.com>
2024-09-30 00:05:19 +02:00
vnnh
d6932ff80e
Fix typo with archetype_traverse_remove (#135) 2024-09-29 03:34:32 +02:00
Ukendio
6def84e8d9 Precompute hashed type 2024-09-27 11:47:01 +02:00
Ukendio
73147f3fef Update Matter's time 2024-09-26 15:40:50 +02:00
Ukendio
91f151ee3f check for most occuring case 2024-09-24 01:11:24 +02:00
EncodedVenom
16e8055983
Allow nil indexing in world:target (#131)
* Allow nil index in world:target

* Fix the fun type at the bottom

* Update tests
2024-09-23 14:29:53 +02:00
Ukendio
68729446d0 Preallocate capacity 2024-09-22 19:57:13 +02:00
Ukendio
fbbb1de1df Save sparse_array as variable 2024-09-22 16:37:06 +02:00
Ukendio
95b166eca3 Reallocate tables 2024-09-22 16:19:31 +02:00
Ukendio
31880b71ac Improve world_delete performance 2024-09-22 03:36:44 +02:00
Ukendio
8320d1ce49 cleanup archetypes after deleting parent 2024-09-22 00:53:31 +02:00
Ukendio
b3d9ffd0bd Fix indentations 2024-09-22 00:52:58 +02:00
Ukendio
74ca305600 Improve debug message 2024-09-21 21:28:06 +02:00
Ukendio
5d6c2e8d42 Fix unit tests and debug mode to enforce OnRemove rules 2024-09-21 20:53:12 +02:00
Ukendio
1de93f9185 invoke OnRemove hooks before moving 2024-09-21 18:51:50 +02:00
Marcus
b3da0745bc
Fix cycles (#129) 2024-09-20 21:58:18 +02:00
Marcus
2ed869ba93
Archetype deletion (#126)
* initial commit

* cleanup edges

* rename ptr to edge
2024-09-20 21:29:50 +02:00
Marcus
bd187e69ad
Call entity_move before invoke_hook (#124) 2024-09-17 16:39:28 +02:00
Marcus
62ac6e62c0
Iter should not drain by default (#123) 2024-09-16 21:33:12 +02:00
Ukendio
699beccc1c Change display to explicit pair 2024-09-12 16:24:59 +02:00
Marcus
f8b2c8c2b3
Name the builtin components (#117)
* Add nth parameter to world:target

* Put archetype record creation into function

* Fix docs and comments

* Make EcsWildcard a component

* Name the builtin components
2024-09-11 02:53:15 +02:00
Marcus
244d799cec
Add nth parameter to world:target (#116)
* Add nth parameter to world:target

* Put archetype record creation into function

* Fix docs and comments
2024-09-10 23:56:42 +02:00
Ukendio
1503d7e462 Add a hooks cache 2024-09-09 03:22:20 +02:00
Ukendio
adeb562baa decouple start 2024-09-08 19:45:49 +02:00
Ukendio
1067a17101 Fix docs titles 2024-09-07 22:12:07 +02:00
Ukendio
aa3e0258e3 Make world:set idempotent for tags 2024-08-31 05:31:58 +02:00
Ukendio
d6179637af Collapse ORs 2024-08-31 05:02:09 +02:00
Marcus
f91ab4049f
Docs addons (#112)
* Fix indentations

* Add addons page

* Fix indent
2024-08-31 04:13:47 +02:00
Marcus
c37bc3c440
Add EcsOnDelete support (#111)
* Add EcsOnDelete support

* Shrink mask

* Add indentation for flags

* Rename page

* Add page to items

* IDs should be plural

* Polish changelog

* Cleanup action Remove is default
2024-08-30 19:19:20 +02:00
Magic
5b163a29c1
Expose world:contains() and query:drain() in types (#110)
* chore: Expose world:contains and query:drain in types

* chore: Actually expose query:drain(), ?

* chore: Document these and previous changes in CHANGELOG.md

* fix: Fix type of world:has() to explicitly take in an entity
2024-08-29 23:36:34 +02:00
Magic
bfb3db272a
Allow functions to accept any ID including pairs in type parameters (#109) 2024-08-28 19:42:01 +02:00
Marcus
3dd0bd30cd
Add EcsTag (#108)
* Add EcsTag

* Add tests
2024-08-28 19:26:57 +02:00
Magic
ff98e8b5fb
fix: OnAdd, OnRemove and OnSet were typed as Entity<any> rendering them unusable with strict types (#107) 2024-08-28 10:12:04 +02:00
Ketasaja
a54928ee03
Avoid unused variable warnings (#91) 2024-08-24 01:50:22 +02:00
Ukendio
f302fad3b6 Fix types in export 2024-08-18 16:46:52 +02:00
Marcus
4e5a40f75b
Fix hooks not notifying (#103)
* Fix world_has_any checking for inverse statement

* invoke onAdd for set
2024-08-17 01:10:35 +02:00
Marcus
6d45af93f0
Add OnDeleteTarget (#102) 2024-08-16 19:13:30 +02:00
Ukendio
461c3f6862 Remove comment section 2024-08-14 18:53:24 +02:00
Marcus
6d6cc37a25
Add bit flags to id_record (#101)
* Add bit flags to id_record

* set should not invoke OnAdd
2024-08-14 17:18:05 +02:00
Ukendio
33f359a150 Handle cycles in deletion 2024-08-14 01:15:04 +02:00
Ukendio
49d5bd0d4a optimize bulk remove 2024-08-13 21:23:40 +02:00
Ukendio
c22007671d Expose EcsDelete 2024-08-13 21:17:49 +02:00
Ukendio
8dd53b8c2a optimize deletion 2024-08-13 20:58:07 +02:00
Ukendio
735eb01526 Initial commit 2024-08-13 20:08:58 +02:00
Ukendio
0b9d9530b9 Fix types for iter 2024-08-12 22:43:46 +02:00
Michael
3de4789c03
Avoid recomputing column size (#100) 2024-08-12 15:05:40 +02:00
Ukendio
3175d5e94c Add back multret ;C 2024-08-11 15:03:05 +02:00
Ukendio
b57239fac2 optimize hook calls and add tests 2024-08-11 04:03:18 +02:00
Ukendio
a0935fe0f1 deduplicate get 2024-08-11 03:51:51 +02:00