Skip to content

Releases: Doraku/DefaultEcs

DefaultEcs 0.15.0

16 Jan 01:05
Compare
Choose a tag to compare

DefaultEcs 0.15.0

breaking changes:
removed Entity.SetAsChildOf
removed Entity.SetAsParentOf
removed Entity.RemoveFromChildrenOf
removed Entity.RemoveFromParentsOf
removed Entity.GetChildren
removed EntityRecord.SetAsChildOf
removed EntityRecord.SetAsParentOf
removed EntityRecord.RemoveFromChildrenOf
removed EntityRecord.RemoveFromParentsOf
removed AEntityBufferedSystem
changed TextSerializer format for pure List and Dictionary types
changed TextSerializer format for Guid
changed EntityCommandRecorder.CreateEntity parameters, now takes directly the world on which to create the entity
changed EntityCommandRecorder.Execute parameters, now takes no parameter
renamed AEntitySystem to AEntitySetSystem
renamed AEntitiesSystem to AEntityMultiMapSystem
renamed EntitiesMap to EntityMultiMap

fixed invalid IsEnable component state when serializing with a SerializationContext

added World.SubscribeWorldDisposed method
added AComponentSystem.World property
added AEntitySetSystem.Set property
added AEntitySetSystem.World property
added AEntitySetSystem constructor override with factory
added AEntitySetSystem constructor override with boolean useBuffer to replace AEntityBufferedSystem
added EntityMultiMap.MultiMap property
added EntityMultiMap.World property
added EntityMultiMap constructor override with factory
added EntityMultiMap constructor override with boolean useBuffer
added EntityRuleBuilder.AsEnumerable method
added EitherBuilder.AsEnumerable method

nuget package

DefaultEcs 0.14.4

31 Jul 20:39
Compare
Choose a tag to compare

added quote and multiline string support to TextSerializer
added EntityRuleBuilder.Copy to duplicate an EntityRuleBuilder
added EntityRuleBuilder.AsMap with capacity parameter
added EntityRuleBuilder.AsMultiMap with capacity parameter
added EntitiesMap.Count to get the number of entities for a given key
added AResourceManager.Resources to get all resources loaded
added AEntitiesSystem to process EntitiesMap in a controlled way

fixed EntitySet, EntityMap and EntitiesMap initialization with pre-existing entities when applying a component predicate

nuget package

DefaultEcs 0.14.3

27 May 21:26
Compare
Choose a tag to compare

added componentFilter parameter on BinarySerializer and TextSerializer to apply a filter on which component type should be serialized or deserialized
added BinarySerializationContext to provide transformation between types when using the BinarySerializer
added TextSerializationContext to provide transformation between types when using the TextSerializer

fixed BinarySerializer and TextSerializer closing the stream parameter, it is now left open

nuget package

DefaultEcs 0.14.2

25 Apr 11:43
Compare
Choose a tag to compare

removed restriction on ManagedResource TResource to be IDisposable

added AResourceManager.Unload to give the possibility to override the unload action for a resource

fixed Entity.Set overriding shared component value

nuget package

DefaultEcs 0.14.1

23 Mar 11:31
Compare
Choose a tag to compare

fixed Entity.ReadAllComponents accessing previous value component used by map

nuget package

DefaultEcs 0.14.0

23 Feb 16:48
Compare
Choose a tag to compare

breaking change:
removed World.MaxEntityCount, obsolete
removed World.SetMaximumComponentCount, obsolete
removed World.GetMaximumComponentCount, obsolete
removed World.GetAllComponents, obsolete
removed World.GetAllEntities, obsolete
removed World.EntityDisposed
removed EntitySet.EntityAdded
removed EntitySet.EntityRemoved
removed AEntityBufferedSystem.EntityAdded
removed AEntityBufferedSystem.EntityRemoved
removed AEntitySystem.EntityAdded
removed AEntitySystem.EntityRemoved
renamed EntitySetBuilder to EntityRuleBuilder
renamed EntitySetBuilderExtension to EntityRuleBuilderExtension
renamed ActionIn to MessageHandler

fixed BinarySerializer and TextSerializer serialization of multi generic types
fixed World multi Dispose

added World.Optimize to sort entities and their components so accessing them through EntitySet always move forward in memory
added World.SubscribeEntityCreated to be called back when an entity is created
added World.SubscribeEntityEnabled to be called back when an entity is enabled
added World.SubscribeEntityDisabled to be called back when an entity is disabled
added World.SubscribeEntityDisposed to be called back when an entity is disposed
added World.SubscribeComponentAdded to be called back when a component is added on an entity
added World.SubscribeComponentChanged to be called back when a component is changed on an entity
added World.SubscribeComponentRemoved to be called back when a component is removed from an entity
added World.SubscribeComponentEnabled to be called back when a component is enabled on an entity
added World.SubscribeComponentDisabled to be called back when a component is disabled on an entity
added EntityRuleBuilder.With with a Predicate parameter
added EntityRuleBuilder.AsPredicate to get a predicate to validate the composition of an entity
added EntityRuleBuilder.AsMap to get a mapping of entities by their component value
added EntityRuleBuilder.AsMultiMap to get a mapping of entities by their component value
added Entity.NotifyChanged to defer the notification that a component has changed
added EntityRecord.NotifyChanged to defer the notification that a component has changed
added AoTHelper to help the generic code generation for AoT compilation
added EntityMap to have a one for one mapping between a component value and an entity
added EntitiesMap to have a one to many mapping between a component value and entities
added WithPredicateAttribute attribute to decorate ComponentPredicate methods in AEntitySystem and AEntityBufferedSystem to automatically build the underlying EntitySet with the predicate

nuget package

DefaultEcs 0.13.1

19 Jan 17:17
Compare
Choose a tag to compare

added minEntityCountByRunnerIndex parameter to AEntitySystem constructors
added minComponentCountByRunnerIndex parameter to AComponentSystem constructor
added AEntityBufferedSystem type to make structural modification on entities in a safe way
added World.MaxCapacity property, obsolete MaxEntityCount
added World.SetMaxCapacity method, obsolete SetMaximumComponentCount
added World.GetMaxCapacity method, obsolete GetMaximumComponentCount
added World.Get method, obsolete GetAllComponents
added World.GetEnumerator method, obsolete GetAllEntities
added EntitySet.World property
added Components type for fast access to entities component
added World.GetComponents method
changed BinarySerializer and TextSerializer to be assembly version independent

updated System.Reflection.Emit.Lightweight to 4.7.0

nuget package

DefaultEcs 0.13.0

15 Dec 14:07
Compare
Choose a tag to compare

breaking change:
removed SystemRunner type, use DefaultEcs.Threading.DefaultParallelRunner instead
removed ASystem type
refactored EntitySetBuilder to a more fluent syntax, Build changed to AsSet, *Either<T1, T2>() replaced by *Either<T1>().Or<T2>()

added World.GetDisabledEntities method to create EntitySet for disabled entities
added DisabledAttribute to auto construct EntitySet of disabled entities for AEntitySystem
added EntitySet.Contains method to check for an Entity inclusion
added IParallelRunner to allow custom implementation to process AEntitySystem, AComponentSystem and ParallelSystem in parallel
added Entity.World property

fixed EntityCommandRecorder SetSameAs and Dispose command
fixed size of commands in EntityCommandRecorder
fixed size of Entity
fixed WithoutEitherAttribute filter generation

nuget package

DefaultEcs 0.12.1

16 Nov 12:48
Compare
Choose a tag to compare

fixed serialization of struct as an object
fixed serialization of Type
fixed AResourceManager.Manage for existing entities

added netstandard2.1 target
added == and != operators on Entity
added internal version on Entity, Entity.IsAlive will return false if a stored disposed entity is reused
added a helper ManagedResource static class to create ManagedResource

nuget package

DefaultEcs 0.12.0

31 Aug 17:41
Compare
Choose a tag to compare

breaking change:
renamed EntitySetBuilder.WithAny and WithAny attribute to WithEither
removed some methods from EntitySetBuilderExtension, Either methods stops at 3 components types but it is easy to add more if needed

added WithoutEither filter for EntitySet
added WhenAddedEither filter for EntitySet
added WhenChangedEither filter for EntitySet
added WhenRemovedEither filter for EntitySet
changed BinarySerializer Exception to EndOfStreamException

nuget package