Releases: sschmid/Entitas
Releases · sschmid/Entitas
Entitas 0.18.1
Reminder
Entitas 0.18.0 introduced breaking api changes. Please follow the Entitas upgrade guide
Entitas.CodeGenerator
- ComponentExtensionsGenerator now supports properties
Entitas 0.18.0
Breaking changes
- Use the command line tool
MigrationAssistant.exe
to automatically migrate- Changed IReactiveSystem.GetTriggeringMatcher to IReactiveSystem.trigger
- Changed IReactiveSystem.GetEventType to IReactiveSystem.eventType
Please follow the Entitas upgrade guide
Entitas.Unity
- Fixed code generation issues on Windows by converting and normalizing line endings
- Fixed EntitasCheckForUpdates.CheckForUpdates() by temporarily trusting all sources
Entitas 0.17.0
Breaking changes
- Added
systemCodeGenerators
to CodeGenerator.Generate()
CodeGenerator.Generate(Type[] types, string[] poolNames, string dir,
IComponentCodeGenerator[] componentCodeGenerators,
ISystemCodeGenerator[] systemCodeGenerators,
IPoolCodeGenerator[] poolCodeGenerators)
Entitas.CodeGenerator
- Added PoolsGenerator which creates a getter for all pools
var pool = Pools.pool;
var metaPool = Pools.meta;
- Added SystemExtensionsGenerator
new Systems()
.Add(pool.CreateGameBoardSystem())
.Add(pool.CreateCreateGameBoardCacheSystem())
.Add(pool.CreateFallSystem())
.Add(pool.CreateFillSystem())
.Add(pool.CreateProcessInputSystem())
.Add(pool.CreateRemoveViewSystem())
.Add(pool.CreateAddViewSystem())
.Add(pool.CreateRenderPositionSystem())
.Add(pool.CreateDestroySystem())
.Add(pool.CreateScoreSystem());
- Added Components, Systems & Pools sub folders to generated folder
Entitas.Unity
- Properties split with Environment.NewLine instead of '\n'
Entitas.Unity.CodeGenerator
- Entitas preferences appends "/Generated/" to generated folder if necessary
Entitas.Unity.VisualDebugging
- Using Queue for SystemsDebugEditor.systemMonitorData
Entitas 0.16.0
Breaking changes
- Moved system getters from Systems to DebugSystems
Entitas.Unity.CodeGenerator
- Generated ComponentIds use array instead of dictionary for component name lookup
Entitas.Unity.VisualDebugging
- Added "Step manually" to DebugSystems
- Added activate / deactivate systems at runtime
- Displaying Systems.totalSystemsCount in SystemsDebugEditor
- Added SystemsMonitor visual graph
- Removed override DebugSystems.DestroyAllEntities()
Entitas 0.15.0
Entitas
- Added entitas_version file
- Added CreateSystem(ISystem) to PoolExtensions
- Fixed typo GroupObserver.ClearCollectedEntities()
Entitas.Unity
- Added "Check for updates..." menu item
Entitas.Unity.VisualDebugging
- Added Stats menu item to log current components, systems and pools
Entitas 0.14.0
General
- Upgraded all Unity projects to Unity 5
Entitas
- 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
Entitas.Unity
- Properties now support multiline values and placeholder replacement with ${key}
Entitas.Unity.CodeGenerator
- 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
Entitas.Unity.VisualDebugging
- Added DebugSystems
- Added HashSetTypeDrawer
Entitas 0.13.0
Reminder
- Entitas 0.12.0 generates prefixed matchers based on the PoolAttribute and introduces some API changes. Please follow the Entitas upgrade guide
General
- Split into multiple modules and seperate projects. Entitas now consists of
- Entitas
- Entitas.CodeGenerator
- Entitas.Unity
- Entitas.Unity.CodeGenerator
- Entitas.Unity.VisualDebugging
Entitas.Unity
- Added IEntitasPreferencesDrawer to be able to extend the Entitas preferences panel
Entitas.Unity.CodeGenerator
- 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
Entitas.Unity.VisualDebugging
- 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
Other
- 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
Important
- Entitas 0.12.0 generates prefixed matchers based on the PoolAttribute and introduces some API changes. Please follow the Entitas upgrade guide
Entitas
- 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
Visual Debugging
- Fixed null exceptions
- Added support for multi dimensional and jagged arrays
- Removed Debug.Log
Code Generator
- 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
Other
- 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.11.0
Reminder
- Entitas 0.10.0 included lots of renaming. Please follow the Entitas upgrade guide if you are on < v0.10.0
Entitas
- 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
Visual Debugging
- Added support for custom type drawers
ICustomTypeDrawer
- Added component folding and pooled entities count
- Added groups to PoolDebugEditor
- Added support for IList
- UI improvements
Code Generator
- Fixed typeShortcuts to use type.FullName to support UnityEngine.Object (conflicted with System.Object)
- Added EntitasCodeGeneratorMenuItem
Other
- Moved and renamed some folders
- Added buildPackage.sh which creates a bin/Entitas.zip with all necessary source files
Entitas 0.10.0
Important
- Entitas 0.10.0 includes lots of renaming. Please follow the Entitas upgrade guide
Entitas
- 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
Visual Debugging
- Added VisualDebugging
Code Generator
- Supports enums nested in components
- Added option to [DontGenerate] to ignore generating index, too