Beta Release 2
Pre-releaseThis release has some breaking changes around the way the application is created and managed, as well as the way that view systems operate.
View system changes
There is now a DynamicViewResolverSystem
which allows you to create the view in the system, rather than using prefab that cannot be changed, this latter scenario is the better one in most cases as you can pool it easier.
Zenject separation
To assist users who do not wish to use Zenject and have their own DI approach we have begun moving out the Zenject specific logic into its own folder which is currently bundled with but can easily be removed.
This being said there are still some dependencies on Zenject such as the [Inject]
attribute which we are hoping to abstract away a bit further in future releases. Another change is that the IInstantiator
from Zenject has been abstracted away with a more generic IUnityInstantiator
which has no hard dependency on Zenject, so if you just need to instantiate a prefab then use this, if you need more Zenject specific functionality stick to the IInstantiator
.
As part of this you will now get the EcsRxApplicationBehaviour
from the Zenject part as this specifically depends upon the scene context, this may be abstracted out further going forward but for now its not.
Bug fixes
There was an issue with how Zenject events were being handled, so we have now correctly used the post install event rather than pre-install event, so this should stop issues where installers were being run AFTER the app was setup.