Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New features and rewrite of major ECST modules #1

Merged
merged 83 commits into from
May 30, 2016

Conversation

vittorioromeo
Copy link
Owner

  • Now uses boost::hana for all metaprogramming code. Compilation times significantly decreased.
  • Most of the user syntax for defining signatures and compile-time settings is much easier to read/write and uses method chaining. Explicitly specified namespaces occur much less often in user code.
  • Component signatures now allow users to specify a storage type. Signatures can be bound to a variadic amount of component types, easily allowing users to switch between AoS and SoA structures, or allowing developers to create clever data structures that know about component type relationships.
  • System execution is much more flexible, allowing users to separately execute chains of systems in multiple steps. Single system executions are more flexible as well, allowing users to perform single actions before/after dealing with system subtasks.
  • It is now possible to handle refresh events such as system subscription/unsubscription and entity ID retrieval, without any additional run-time cost. context::step accepts secondary event-handling functions that get overloaded at compile-time and allow users to process the aforementioned events.

@vittorioromeo vittorioromeo merged commit d9979dc into master May 30, 2016
@vittorioromeo vittorioromeo deleted the generalized_system_execution branch May 30, 2016 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant