Skip to content

Latest commit

 

History

History
201 lines (151 loc) · 7.59 KB

File metadata and controls

201 lines (151 loc) · 7.59 KB

0.16.0

Breaking changes

  • Moved system getters in 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

Entitas.Unity.VisualDebugging-Debugsystems

  • Removed override DebugSystems.DestroyAllEntities()

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

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

Entitas.Unity.VisualDebugging-Systems

  • Added HashSetTypeDrawer

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

Entitas.Unity.VisualDebugging-ITypeDrawer

  • Added name property to DebugPool
  • Added VisualDebuggingConfig and VisualDebuggingPreferencesDrawer

Entitas.Unity.VisualDebugging-Preferences

  • 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

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

Entitas.Unity.CodeGenerator-Preferences

  • 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

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

Entitas.Unity.VisualDebugging-Groups

  • Added support for IList

Entitas.Unity.VisualDebugging-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

0.10.0

Important
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