- Update to new gaemstone.ECS' new handling of
generic context with World<T>, Entity<T>, etc
- Completely rewrite the source generator
- Remove AutoAdd from [Singleton]
[Add<Flecs.Core.Disabled>] can be used instead
- Replace some term attributes with generics
For example, "[Has] T foo" is now "Has<T> foo"
- Move some Flecs types into Flecs.Core
- Remove IL generator related code
- Remove [Game] attribute and entity
- Turn Canvas and GameWindow into singletons
- Probably some stuff I forgot
- Add IModule interface, contains static interface
methods to get its path and dependencies
- ModuleGenerator generates the implementation
- Universe.Modules.Register now expects an IModule
- Replace ModuleInfo with generic version
- Remove GetModulePath helper method
- Add IModuleAutoRegisterComponents interface
- Add gaemstone.SourceGen project which (currently)
generates a method to automatically register a
module's compiles.
- Get rid of RegisterNestedType (which has been replaced)
and code to handle static (Flecs built-in) modules.
- Split Attributes into Module+Attributes and +Components
"Components" is for attributes that define components
"Attributes" are for other attributes that can be added
- Split core ECS wrapper into gaemstone.ECS project
- Module loading part of gaemstone, still
- Remove ComponentHooks (for now)
- Fix IL for nullable references in IterActionGenerator
- Move from Silk.NET.Maths to System.Numerics
- Add Flecs.Core.Component and .Identifier
- Add Flecs.Doc module
- Add gaemstone.Doc module
- Add [Symbol] to register entities with symbols
This decision will probably be reversed.
- World generator picks random blocks, more color!
Changes relating to ImGui:
- Use custom ImGUI.NET version with local changes to get
access to internal functions. Currently waiting for
upstream to implement this functionality.
- Add font support, and the fonts OpenSans and ForkAwesome
- Add an entity inspector window to browse entities, see
their contents and find references to other entities.