Skip to content

Releases: sschmid/Entitas

Entitas 0.18.1

13 Jul 08:39
Compare
Choose a tag to compare
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

09 Jul 12:19
Compare
Choose a tag to compare
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

27 Jun 19:10
Compare
Choose a tag to compare
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

18 Jun 20:50
Compare
Choose a tag to compare
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

Entitas.Unity.VisualDebugging-Debugsystems

  • Removed override DebugSystems.DestroyAllEntities()

Entitas 0.15.0

08 Jun 20:10
Compare
Choose a tag to compare
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

02 Jun 14:32
Compare
Choose a tag to compare
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

visualdebug-systems

  • Added HashSetTypeDrawer

Entitas 0.13.0

26 Apr 22:36
Compare
Choose a tag to compare
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-itypedrawer

  • Added name property to DebugPool
  • Added VisualDebuggingConfig and VisualDebuggingPreferencesDrawer

entitas-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

Entitas 0.12.0

23 Apr 12:22
Compare
Choose a tag to compare
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-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

Entitas 0.11.0

08 Mar 21:47
Compare
Choose a tag to compare
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

visualdebugging-groups

  • Added support for IList

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

Entitas 0.10.0

08 Mar 22:05
Compare
Choose a tag to compare
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