novelrt / NovelRT

A cross-platform 2D game engine accompanied by a strong toolset for visual novels.
MIT License
183 stars 43 forks source link

Added IEcsSystem management in the Configurator class #512

Closed bjauny closed 1 year ago

bjauny commented 1 year ago

Please check if the PR fulfills these requirements

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...) This adds support for the IEcsSystem use in the Configurator class.

Is there an open issue that this resolves? If so, please link it here. Fixes #502 .

What is the current behavior? (You can also link to an open issue here) Configurator only manages std::function<void(TimeStamp, Catalogue)> systems.

What is the new behavior (if this is a feature change)? Configurator manages IEcsSystem systems.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?) No.

Other information:

bjauny commented 1 year ago

This is a first and naive implementation.

Now that I reread the original issue, I think I should just rename the WithIEcsSystems to an overload of WithSystems. If so, I will add another test to manage the initalization with the overload instead of managing both in the current test.

RubyNova commented 1 year ago

I will wait for your changes to do a review then to avoid duplication. :D

bjauny commented 1 year ago

I will wait for your changes to do a review then to avoid duplication. :D

All done!

bjauny commented 1 year ago

And we're in!