cosmonaut
b27875b9a8
complete World.Dispose
2023-11-20 15:11:17 -08:00
cosmonaut
6136450617
fix not compiling in release mode
2023-11-20 11:13:41 -08:00
cosmonaut
93c058951c
commit indexable set change
2023-11-16 15:38:28 -08:00
cosmonaut
91da645d71
EXPERIMENT: try preserving order of indexable set
2023-11-16 14:46:29 -08:00
cosmonaut
d8d021060e
handle case where storages are created after snapshot
2023-11-16 12:58:51 -08:00
cosmonaut
2d333d0651
fix crash on post-snapshot entity ID recycle
2023-11-16 10:36:11 -08:00
cosmonaut
f849db955c
add World.ClearMessages
2023-11-15 15:10:56 -08:00
cosmonaut
523b6e3ef7
actually add filters to filter index
2023-11-08 10:17:22 -08:00
cosmonaut
95b38cb092
clear entity sets on snapshot
2023-11-07 21:41:55 -08:00
cosmonaut
0551aa0a07
don't copy array data over itself
2023-11-07 18:12:42 -08:00
cosmonaut
c6f8b65b32
hello filters my old friend
2023-11-07 17:46:44 -08:00
cosmonaut
e6059a2f0a
misc fixes
2023-11-03 17:47:17 -07:00
cosmonaut
53f4124fdb
stupid ass pointer math
2023-11-03 16:51:26 -07:00
cosmonaut
8774314f62
misc fixes
2023-11-03 15:39:30 -07:00
cosmonaut
001b6714cc
storage refactor
2023-11-03 12:40:26 -07:00
cosmonaut
4ef7cb4302
Determinism fixes ( #5 )
...
- Making sure that transferring from one world to another and back preserves original order of filters and relations
- Provides a MoonTools.ECS.Random class
- MoonTools.ECS.RandomManager class can be used to synchronize your Random instance with the ECS randomness
- Refactors some collections to use NativeMemory for performance and to ensure memory safety on world transfer
- Exposes some internal collections to public
Reviewed-on: #5
2023-10-13 20:42:22 +00:00
cosmonaut
839ad015ba
add RandomGenerator.SetSeed method
2023-07-27 14:53:50 -07:00
cosmonaut
c9643ff0be
fix crash in World.Clear
2023-07-27 14:53:33 -07:00
cosmonaut
2bf2128d07
remove unused reference to TemplateComponentDepot
2023-07-21 14:43:54 -07:00
cosmonaut
b5e28ae69f
add World.Clear
2023-07-21 14:41:53 -07:00
cosmonaut
4d45d05618
World Transfer + Entity Tags ( #4 )
...
- removed Snapshot system
- Entities can now be transferred between Worlds along with their Components and Relations using a Filter
- Entities can now be given a string tag on creation
- Manipulators can update an Entity's string tag
2023-07-10 22:36:34 +00:00
cosmonaut
f7d4fcdee7
add Manipulator, remove Spawner, remove Template
2023-05-24 12:46:27 -07:00
cosmonaut
c68e16456e
run Filter callbacks before updating component storage
2023-05-19 13:24:26 -07:00
cosmonaut
4268762a0c
fix EntitiesInRandomOrder
2023-04-06 14:54:20 -07:00
cosmonaut
5f0d694eb4
fix garbage in FilterSignature.Equals
2023-04-05 12:08:24 -07:00
cosmonaut
ca912a3b5a
fix crash when storageIndex > 256
2023-03-21 15:31:59 -07:00
cosmonaut
3817a9e809
get relation by index
2023-03-20 14:26:27 -07:00
cosmonaut
1a6d015fff
allow Spawners to read world state
2023-02-10 11:59:40 -08:00
cosmonaut
cf75824d67
Fix entity relation inconsistency on destroy
2023-02-09 15:15:55 -08:00
cosmonaut
f534ff145e
Fix InRelationSingleton error message
2023-02-09 15:15:41 -08:00
cosmonaut
02ccc3d1a5
add World.Relate + Spawner object
2023-02-09 10:50:25 -08:00
cosmonaut
4ff546538b
fix false positive on filter remove callback
2023-01-27 09:48:27 -08:00
cosmonaut
1438188dca
add filter callback system
2023-01-26 16:34:15 -08:00
cosmonaut
e4131d58f5
fix new hashsets being allocated on each entity create
2023-01-10 12:41:16 -08:00
cosmonaut
f69d132a5e
Storage refactor, snapshot system, experimental template system ( #3 )
...
- Major storage refactor to improve performance and reduce garbage collection
- Snapshot system to facilitate rollback implementation
- Experimental template system to instantiate entities based on a template. Use at your own risk, this may change significantly or be removed!
Reviewed-on: #3
2023-01-10 00:41:00 +00:00
cosmonaut
a9032603ec
add Filter.NthEntity
2022-08-17 15:29:38 -07:00
cosmonaut
bb359d339b
add == operator to Entity
2022-08-11 14:04:26 -07:00
cosmonaut
453426a232
rename and add new relation lookup methods
2022-08-09 14:41:31 -07:00
cosmonaut
5d3989a620
fix relation storage resize
2022-06-22 17:05:33 -07:00
cosmonaut
47758f20d1
iterate indexable set backwards in case of destruction
2022-05-16 18:12:42 -07:00
cosmonaut
ad4dfd9249
World should be internal
2022-05-15 12:16:49 -07:00
cosmonaut
56948e4c31
World State Save and Load ( #2 )
...
Reviewed-on: #2
2022-05-03 04:51:11 +00:00
cosmonaut
5243259acb
relations can now contain data
2022-04-19 12:35:21 -07:00
cosmonaut
37d10db955
remove implicit usings
2022-04-07 22:52:03 -07:00
cosmonaut
1123ef5662
check for specific relation
2022-04-06 20:08:28 -07:00
cosmonaut
0f4df1b948
optimize checking component existence
2022-04-06 20:07:38 -07:00
cosmonaut
21891da116
debug mode check use after destroy
2022-04-06 20:07:18 -07:00
cosmonaut
da35e99266
entity relation system
2022-04-06 12:53:50 -07:00
cosmonaut
d7e795309f
Entity Iteration Rework ( #1 )
...
Filters are now the canonical way to look up Entities. The only exception is the new GetSingletonEntity.
2022-04-03 21:46:52 +00:00
cosmonaut
b4c862d568
allow randomized entity access on filters
2022-04-02 01:00:48 -07:00