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
IEntityCollectionManagerno longer exists, it is now justIObservableGroupManager
IEntityCollectionManagerno longer contains EntityCollections its now withinIEntityDatabase, which is within there
IObservableScheduleris now known asIUpdateSchedulerand uses anElapsedTimeobject notTimeSpan
Groupno longer contains Predicate and has been split intoGroupWithPredicateobjectIObservableScheduleris now insideEcsRxcore and not infrastructure
- Some extension methods around groups have been removed
- Reactive Systems moved to plugin
- Views moved to plugin
- Computeds moved to plugin
- Lifecycle changes in application
- Dependency injection contract changes
IGroupAccessorhas becomeIObservableGroupIGroupAccessorFilter,ICacheableGroupAccessorFilter,IGroupWatcherhas becomeIComputedGroupIPoolhas becomeIEntityCollectionIPool.Entitieshas been removed,IEntityCollectionis nowIEnumerable<IEntity>IPoolManagerhas becomeIEntityCollectionManagerIGroup.TargettedComponentshas becomeIGroup.RequiredComponents- CRUD operations on
IPool/Managerno longer raise system wide events, they are now localIObservableevents - CRUD events are now batched, i.e
ComponentAddedEventhas becomeComponentsAddedEvent
- All system
Executemethods have been renamed toProcess ITeardownSystemis now triggered JUST BEFORE an entity has required components removed- All systems (other than
IManualSystem) have been moved to a separateEcsRx.Systemproject
IEntity.Idis no longer aGuidand is now anintIEntity.AddComponent<T>has been removed, but kept as an extension method onIEntity- Most interactions at entity level are batched, i.e
AddComponent<T>()is nowAddComponents(params IComponent[] components)