Commit Graph

20 Commits (4ef7cb4302262df0cfc2e8166bda1abd1a27f762)

Author SHA1 Message Date
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 c9643ff0be fix crash in World.Clear 2023-07-27 14:53:33 -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 ca912a3b5a fix crash when storageIndex > 256 2023-03-21 15:31:59 -07: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 453426a232 rename and add new relation lookup methods 2022-08-09 14:41:31 -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 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
cosmonaut 24455bcaed Entity is now IEquatable 2022-03-31 14:51:43 -07:00
cosmonaut 428b375d88 DebugSystem API 2022-03-25 12:32:35 -07:00
cosmonaut 0ddc89ddea add singleton getter 2022-03-21 16:21:42 -07:00
cosmonaut 227aae9a1a register filter components with storage 2022-03-07 12:05:06 -08:00
cosmonaut 1d7db58d43 remove WorldBuilder 2022-03-07 11:46:17 -08:00
cosmonaut 57474f1c63 correctly update filters on entity destroy 2022-03-06 22:43:53 -08:00
cosmonaut b2b32b0424 initial filter implementation 2022-03-05 22:12:27 -08:00
cosmonaut 0f4052728e initial commit 2022-03-04 18:01:44 -08:00