Skip to content

Releases: sschmid/Entitas

Entitas 0.36.0

10 Jan 21:45
Compare
Choose a tag to compare

0.36.0

See and discuss changes in Milestone 0.36.0

Note

Entitas will be type-safe and will add support for the planned DSL in future versions. This will be a big breaking change. This release contains a few breaking changes with the DSL and type-safety in mind to make the transition easier.

Note 2

The question came up whether to update or not. I didn't want to delay a release even more and later ship a giant version with too many big breaking changes. I wanted to split up the work into multiple versions. Early adopters can already play with the new features and APIs and give feedback. The planned DSL version will most likely make some of the necessary manual migration work obsolete. I suggest waiting with updating if you're in production.

Breaking changes

Please follow the Entitas upgrade guide

Entitas

  • Removed pool.CreateSystem() (#233 #237)
  • Removed IEnsureComponents, IExcludeComponents, ISetPools, ISetPool, IReactiveSystem, IMultiReactiveSystem, IEntityCollectorSystem
  • Changed the ReactiveSystem to be an abstract class instead of IReactiveSystem. You need to override GetTrigger, Filter and Execute.
    This enables filtering entities based on component values (#234)
  • Renamed the term Pool to Context (#99 #250)
  • Renamed EntityCollector to Collector (#252 #253)
  • Renamed GroupEventType to GroupEvent and removed the prefix OnEntity
  • entity.ToString uses component.ToString(). Override ToString() in your components
    to get a nice description, e.g. Health(42) (#203 #196)

Entitas.CodeGenerator

  • Removed OldPoolsGenerator
  • Fixed code generator line ending for header

Entitas.Unity.VisualDebugging

  • Improved VisualDebugging performance by reusing StringBuilders
  • Added support for ICleanupSystem and ITearDownSystem
  • Changed SystemsMonitor.axisRounding to 1
  • Fix error when turning visual debugging on/off in Unity 5.4 or newer (#222)
  • Changed default blueprint creation location (#206 #248)

Other

  • Simplified build pipeline

Entitas 0.35.0

03 Oct 18:57
Compare
Choose a tag to compare

See and discuss changes in Milestone 0.35.0

Breaking changes

Please follow the Entitas upgrade guide

Entitas

  • Fixed adding disabled entities to groups (#192, #193)
  • Removed matcher with filter (#194, #195)

Other

  • Maintenance, cleanup and formatting
  • Completely new build system to create new releases

Entitas 0.34.0

26 Sep 21:12
Compare
Choose a tag to compare

See and discuss changes in Milestone 0.34.0

Breaking changes

Please follow the Entitas upgrade guide

Entitas

  • Added api to clone entities (#178 #182)
    • pool.CloneEntity(e);
    • entity.CopyTo(target);
  • Added EntityIndex constructor with EqualityComparer (#170 #186)
  • Rename GroupObserver to EntityCollector (#168 #188)
  • Added filter condition to matchers (#165 #189)
    • Matcher.Position.Where(e => e.position.x > 10);

Entitas.Serialization.Blueprints

  • Added HideInBlueprintInspectorAttribute (#185)

Other

  • Improved snippets
  • Added Visual Studio snippets (#172)
  • Added TestRunner to support test debugging (#175 #176)
  • Updated build scripts (#173 #177)
  • Added tests for code formatting

Entitas 0.33.0

19 Sep 19:48
Compare
Choose a tag to compare
Breaking changes

Please follow the Entitas upgrade guide

Entitas
  • Added pools.CreateSystem()
  • Added ObjectPool and ObjectCache and updated EntitasCache to use ObjectCache (#157)
  • Added entityIndex.Activate() and removing entity indices from pool (#163)
  • Renamed IDeinitializeSystem to ITearDownSystem (#164)
Entitas.CodeGenerator
  • TypeReflectionProvider sorts pool names and ToUppercaseFirst() (#155)
  • CodeGeneratorConfig doesn't add default pool anymore (#156)
Other
  • Added repository icon
  • Added snippets (see Snippets folder)

Entitas 0.32.0

06 Sep 22:46
Compare
Choose a tag to compare

Summer break is over! Entitas development is back on track!
Thanks all of you guys for using and contributing to Entitas.
This release is packed with improvements from all of you, thanks for that!

Breaking changes

Please follow the Entitas upgrade guide

General
  • Lots of maintenance, refactoring, documentation and cleanup. Checked every class and every test ;)
  • Removed unused usings (#134 @thematthopkins )
  • Added script to generate docset and included it in build script (#141 @mstrchrstphr)
  • Updated policy.mdpolicy to support latest Xamarin Studio
  • Fixed inconsistent Line endings (#116 @ParagonFable)
Entitas
  • Added new Pools class. There is no static Pools anymore but an instance.
  • Added ISetPools to inject the shared pools instance
  • Removed pool.CreateSystem<T>() and pool.CreateSystem(Type type) (Apply migration 0.32.0)
  • Fixed pool.CreateSystem() not creating a ReactiveSystem for IGroupObserverSystem
  • Added EntityIndex (#154)
  • pool.Reset() removes all event handlers
  • Fixed retain / release didn't update entity toString cache
  • Added EntitasCache for object pooling of collections to reduce memory allocations
  • Updated Entity, Matcher and Pool to use EntitasCache (less garbage ❤️)
  • Added ICleanupSystem
  • Added IDeinitializeSystem
  • Pushing removed component to component pool after dispatching event
Entitas.CodeGenerator
  • Fixed ComponentIndicesGenerator with multiple pools (#124)
  • CodeGeneratorConfig will add default pool
  • Fixed pools order if default pool exists
Entitas.Unity.CodeGenerator
  • CodeGenerator Preferences is using MaskField instead of Toggles now
Entitas.Unity.VisualDebugging
  • Less editor repaints for DebugSystemsInspector to improve performance
  • Fixed system stats (Log stats) not ignoring Feature class
  • Add ITypeDrawer for doubles (#132 @bddckr)
  • Added support for enum masks (#132 @bddckr)
  • Adjusted foldout spacing in custom inspector (#149 @Bytesheep)
Other
  • Updated keys for Entitas.properties and moved files from Entitas.Unity to Entitas.Serialization.Configuration
  • Moved Properties from Entitas.Unity to Entitas.Serialization

Entitas 0.31.2

12 May 10:04
Compare
Choose a tag to compare
Entitas.CodeGenerator
  • All attributes can now be used for classes, interfaces and structs

Entitas 0.31.1

12 May 09:24
Compare
Choose a tag to compare
Entitas.CodeGenerator
  • Improved component generation for classes and interfaces and added support for default pool [Pool]
  • Added support to CustomComponentNameAttribute to generate multiple components with different names for one class or interface
// This will automatically generate PositionComponent and VelocityComponent for you
[Pool, CustomComponentName("Position", "Velocity")]
public struct IntVector2 {
  public int x;
  public int y;
}
  • Added support for generating components for structs
  • Not generating obsolete pool attributes for generated classes

Entitas 0.31.0

11 May 22:28
Compare
Choose a tag to compare
General
  • Removed obsolete code
Entitas.CodeGenerator
  • Generating components for attributed classes and interfaces
// will automatically generate SomeClassComponent for you
[Core]
public class SomeClass {
    public string name;

    public SomeClass(string name) {
        this.name = name;
    }
}
  • Added support to add empty PoolAttribute to assign component to default pool
// using [Pool] will also add this component to Pools.pool
[Core, Pool]
public class SomeComponent : IComponent {
}
Entitas.Unity.VisualDebugging
  • Added IComponentDrawer which can draw the whole component
Entitas.Unity.VisualDebugging
  • Added EntitasEntityErrorHierarchyIcon to indicate retained entities in the hierarchy
  • Added CharTypeDrawer
  • Fixed components not updating in the inspector (#107)
  • Improved SystemsMonitor and added average line

Entitas-SystemsMonitor

Entitas.Unity.Serialization.Blueprints
  • Fixed finding all BinaryBlueprints even when not loaded
  • Correctly saving Blueprints when setting all BinaryBlueprints
  • Added BlueprintsNotFoundException
  • BinaryBlueprintInspector creates new pools instead of using one of Pools.allPools
  • Fixed pool not shown when entering play-mode while a blueprint was selected in the project view
  • Not caching blueprints when UNITY_EDITOR to enable live edit

Entitas 0.30.3

14 Apr 17:32
Compare
Choose a tag to compare
Entitas.CodeGenerator
  • Added support for whitespace, '-' and braces in blueprint names
Entitas.Unity.Serialization.Blueprints
  • Blueprints.FindAllBlueprints orders all blueprints by name
  • Fixed pool not shown in hierarchy

Entitas 0.30.2

14 Apr 12:48
Compare
Choose a tag to compare
Note

This release introduces Blueprints for Entitas (Beta). Update if you want to
use and play with Blueprints. Read more...

Entitas.CodeGenerator
  • Only creating PoolObserver when Application.isPlaying
  • Added BlueprintsGenerator
Entitas.Unity.VisualDebugging
  • Added more options for sorting systems in the inspector
  • Removing event handlers from pool observer when leaving play-mode
Entitas.Serialization.Blueprints
  • Added Blueprints (and more)
Entitas.Unity.Serialization.Blueprints
  • Added BlueprintInspector (and more)
Other
  • Moved build scripts into a folder