Commit Graph

82 Commits (rev2)

Author SHA1 Message Date
cosmonaut 07b53b0082 fix storage retrieval + enumerate component types 2023-11-02 15:00:56 -07:00
cosmonaut 6f50e78188 add relation count methods 2023-11-02 12:15:21 -07:00
cosmonaut d3c4c12605 entity tag system 2023-11-02 11:03:51 -07:00
cosmonaut 2a2d8efc5f Debug methods on World 2023-11-01 16:34:24 -07:00
cosmonaut 4f7307d29e add Update to System 2023-10-31 15:09:56 -07:00
cosmonaut 1ec9b9966c add Relate to Manipulator 2023-10-31 15:05:10 -07:00
cosmonaut 63a5643763 add CreateEntity to Manipulator 2023-10-31 15:02:56 -07:00
cosmonaut 5ba5c2f5cd split Id to EntityId and TypeId 2023-10-31 15:00:42 -07:00
cosmonaut d4c84868d8 add FilterBuilder to compatibility system 2023-10-31 14:42:35 -07:00
cosmonaut c7f7d8c362 add compatibility structures 2023-10-31 14:28:12 -07:00
cosmonaut 3d2261f739 messages + rearranging 2023-10-31 11:10:42 -07:00
cosmonaut 9032eff699 snapshot and restore relations 2023-10-30 16:25:33 -07:00
cosmonaut 4d40103a6f id-preserving snapshots 2023-10-30 12:11:50 -07:00
cosmonaut b118cffb83 preparing for relation snapshots 2023-10-27 17:47:30 -07:00
cosmonaut 545637aaf3 unifying Ids and adding Relations 2023-10-26 16:16:28 -07:00
cosmonaut 344a0082b4 fast snapshot restore 2023-10-26 11:02:45 -07:00
cosmonaut 5419fbd72d snapshot system 2023-10-24 18:44:41 -07:00
cosmonaut b3ff7e3f1c implement Filter 2023-10-24 13:13:14 -07:00
cosmonaut 272fd6b492 more rev2 implementation 2023-10-20 17:24:35 -07:00
cosmonaut 5a670fa36c entity iteration pattern 2023-10-20 01:17:03 -07:00
cosmonaut 6173b05ff6 World.Remove and World.Dispose 2023-10-19 17:41:45 -07:00
cosmonaut 40d2bf87ba initial archetype storage structure 2023-10-19 15:41:49 -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 cc158e460b add license 2023-05-22 11:22:39 -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 71a95cb2d7 .NET 7 2022-11-30 10:03:30 -08: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