- Moved system getters in Systems to DebugSystems
- Generated ComponentIds use array instead of dictionary for component name lookup
- Added "Step manually" to DebugSystems
- Added activate / deactivate systems at runtime
- Displaying Systems.totalSystemsCount in SystemsDebugEditor
- Added SystemsMonitor visual graph
- Removed override DebugSystems.DestroyAllEntities()
- Added entitas_version file
- Added CreateSystem(ISystem) to PoolExtensions
- Fixed typo GroupObserver.ClearCollectedEntities()
- Added "Check for updates..." menu item
- Added Stats menu item to log current components, systems and pools
- Upgraded all Unity projects to Unity 5
- Added Systems class
- Re-combined pool extensions for creating systems to pool.CreateSystem() and removed pool.CreateStartSystem() and pool.CreateExecuteSystem()
- Fixed: Pool won't destroy entities it doesn't contain
- Properties now support multiline values and placeholder replacement with ${key}
- Added fluent api to Entity
pool.CreateEntity()
.IsGameBoardElement(true)
.IsMovable(true)
.AddPosition(x, y)
.AddResource(Res.Piece0)
.IsInteractive(true);- CodeGenerator takes arrays of IComponentCodeGenerator and IPoolCodeGenerator to generate files so you can easily provide your own custom code generators
- Added dialog for 'Migrate Matcher' menu item
- Added DebugSystems
- Added HashSetTypeDrawer
- Entitas 0.12.0 generates prefixed matchers based on the PoolAttribute and introduces some API changes. Please follow the Entitas upgrade guide
- Split into multiple modules and seperate projects. Entitas now consists of
- Entitas
- Entitas.CodeGenerator
- Entitas.Unity
- Entitas.Unity.CodeGenerator
- Entitas.Unity.VisualDebugging
- Added IEntitasPreferencesDrawer to be able to extend the Entitas preferences panel
- Entitas preferences internal keys changed. Please check your settings in projectRoot/Entitas.properties and update keys
- Entitas.CodeGenerator.GeneratedFolderPath -> Entitas.Unity.CodeGenerator.GeneratedFolderPath
- Entitas.CodeGenerator.Pools -> Entitas.Unity.CodeGenerator.Pools
- Added support to set fields to null
- Added support to create a new instance if the value of a field is null
- Added IDefaultInstanceCreator to create default objects for unsupported types
- Added IDefaultInstanceCreator implementations for array, dictionary and string
- Added support to insert and remove elements from lists, arrays and dictionaries
- Added name property to DebugPool
- Added VisualDebuggingConfig and VisualDebuggingPreferencesDrawer
- EntityDebugEditor can generate IDefaultInstanceCreator and ITypeDrawer implementations for unsupported types
- Fixed: handling null values
- Renamed ICustomTypeDrawer to ITypeDrawer
- Big refactoring to simplify drawing types
- buildPackage.sh keeps uncompressed source files in bin folder
- Added updateDependencies.sh which updates all dependencies of Entitas.Unity.CodeGenerator, Entitas.Unity.VisualDebugging and tests
- Renamed and moved files and folders to be more consistent with the new project structure
- Entitas 0.12.0 generates prefixed matchers based on the PoolAttribute and introduces some API changes. Please follow the Entitas upgrade guide
- Added IStartSystem and pool.CreateStartSystem() extension
- Renamed pool.CreateSystem() to pool.CreateExecuteSystem()
- Added pool.CreateStartSystem()
- Added EntitasUpdater to automatically update the introduced matcher API changes
- Fixed null exceptions
- Added support for multi dimensional and jagged arrays
- Removed Debug.Log
- Added Code Generator PreferenceItem
- set generated folder path
- define multiple pools
- Added PoolAttributeGenerator
- Generated Matcher is now prefixed based on PoolAttribute (e.g. UIMatcher)
- Generating ToString() for matchers to print component name instead of index
- IndicesLookupGenerator generates indices ordered alphabetically
- Added TypeGenerator to streamline string generation from types
- Added support for nested classes
- Added Properties and CodeGeneratorConfig to serialize Entitas preferences to file
- Removed warning in AbstractCompoundMatcher
- buildPackage.sh only builds when all tests are passing
- buildPackage.sh deletes meta files before creating zip archive
- Entitas 0.10.0 included lots of renaming. Please follow the Entitas upgrade guide if you are on < v0.10.0
- Added AllOfCompoundMatcher
- Added AnyOfMatcher
- Added AnyOfCompoundMatcher
- Added NoneOfMatcher
- Added NoneOfCompoundMatcher
- Updated Entitas to handle any implementation of IMatcher
- Fixed dispatching OnComponentAdded when replacing a non existing component with null
- Optimizations
- Added support for custom type drawers
ICustomTypeDrawer - Added component folding and pooled entities count
- Added groups to PoolDebugEditor
- Added support for IList
- UI improvements
- Fixed typeShortcuts to use type.FullName to support UnityEngine.Object (conflicted with System.Object)
- Added EntitasCodeGeneratorMenuItem
- Moved and renamed some folders
- Added buildPackage.sh which creates a bin/Entitas.zip with all necessary source files
- Entitas 0.10.0 includes lots of renaming. Please follow the Entitas upgrade guide
- Added empty ISystem and IExecuteSystem for more flexibility
- Added public creationIndex to Entity
- Observer is now on group not on pool
- Removed WillBeRemovedSystem and observer
- Added CreateSystem to PoolExtension
- Added fast entities count call to Pool
- Added creationIndex to entity.ToString()
- pool.CreateEntity() and pool.DestroyEntity() are now virtual
- Added VisualDebugging
- Supports enums nested in components
- Added option to [DontGenerate] to ignore generating index, too






