Breaking Changes
5.0.0 -> 6.0.0
Dropped explicit builds for
netframeworkso now its onlynetstandard2.0Root
Eventsnamespace has been removed and events live in related namespacesObservableGroupimplementation now requires anICollectionObservableGroupTracker
4.0.0 -> 5.0.0
Large parts of the system were moved to the
SystemsRxproject such asISystemISystemExecutorIPool
Some namespace refactors that would break existing code but should be quick to fix
EcsRx now has a dependency on
SystemsRxand related projects it builds on top of
3.12.0 -> 4.0.0
IEcsRxPluginhas been renamed toISystemsRxPluginand lives inSystemsRx.InfrastructureEventReactionSystem<T>no longer exists, the same convention can be mapped toIReactToEventSystemfromSystemsRxIBasicSystemhas changed and has noIEntitydependencies and lives inSystemsRx, the same convention can be mapped toIBasicEntitySysteminEcsRxIManualSystemno longer has a group or gets passedIObservableGroup, you can injectIObservableGroupManageryourself if you need itEcsRxnow depends uponSystemsRx, all the classes inSystemsRxwere originally inEcsRxbut now can be used without theECSrelated paradigm dependenciesISystemno longer contains anIGroupand now lives inSystemsRxthere is now anIGroupSystemwhich represents a system with aIGroup
3.10.0 -> 3.11.0
IEntityCollectionManagerno longer exists, it is now justIObservableGroupManager
3.9.0 -> 3.10.0
IEntityCollectionManagerno longer contains EntityCollections its now withinIEntityDatabase, which is within there
3.8.0 -> 3.9.0
IObservableScheduleris now known asIUpdateSchedulerand uses anElapsedTimeobject notTimeSpan
3.0.0 -> 3.8.0
Groupno longer contains Predicate and has been split intoGroupWithPredicateobjectIObservableScheduleris now insideEcsRxcore and not infrastructure
2.0.0 -> 3.0.0
Some extension methods around groups have been removed
Reactive Systems moved to plugin
Views moved to plugin
Computeds moved to plugin
1.0.0 -> 2.0.0
Lifecycle changes in application
Dependency injection contract changes
0.. -> 1.0.0
Groups & Collections
IGroupAccessorhas becomeIObservableGroupIGroupAccessorFilter,ICacheableGroupAccessorFilter,IGroupWatcherhas becomeIComputedGroupIPoolhas becomeIEntityCollectionIPool.Entitieshas been removed,IEntityCollectionis nowIEnumerable<IEntity>IPoolManagerhas becomeIEntityCollectionManagerIGroup.TargettedComponentshas becomeIGroup.RequiredComponentsCRUD operations on
IPool/Managerno longer raise system wide events, they are now localIObservableeventsCRUD events are now batched, i.e
ComponentAddedEventhas becomeComponentsAddedEvent
Systems
All system
Executemethods have been renamed toProcessITeardownSystemis now triggered JUST BEFORE an entity has required components removedAll systems (other than
IManualSystem) have been moved to a separateEcsRx.Systemproject
Entities
IEntity.Idis no longer aGuidand is now anintIEntity.AddComponent<T>has been removed, but kept as an extension method onIEntityMost interactions at entity level are batched, i.e
AddComponent<T>()is nowAddComponents(params IComponent[] components)
Last updated
Was this helpful?