styx 2.2.0 styx: ^2.2.0 copied to clipboard
An implementation of the ECS paradigm with an emphasis on simplicity.
[2.2.0] - 12/02/2022 #
CHANGES:
- Added a new
match
method to an EntityMatcher where you pass it anEntitySystem
and it will return the list of filtered entities. Useful when a synchronous read of the matcher is required.
[2.1.0] - 04/02/2022 #
BREAKING CHANGES:
- Typing
EntitySystem
to allow for a custom entity key generator. Allows systems to uniquely identify Entities their own way if desired.
CHANGES:
- Deprecating the
call
methods as having extension methods for nullable and non-nullable generics had conflicts as one was not more specific than the other. It was mostly left for BC purposes but will be deprecated in 3.0.0. - Added a new
EntityUniqueKeyGeneratorFunction
type and added a static factory method for systems if you require a custom key generator.
[2.0.1] - 31/01/2022 #
- Fixed issue with pub points.
[2.0.0] - 24/01/2022 #
BREAKING CHANGES:
- Replaced dependency on GetX and move to rxdart.
- EntitySystem now uses a BehvaiorSubject for
entities
. - Moved back to using
Entity
directly instead ofRx<Entity>
. - The
.styx
extension has been removed and has been added to thestyx_flutter:>=2.0
package.
[1.3.2] - 24/06/2021 #
FIXED:
- A bug where listening to the entity list would send two events, one with an empty list and one with the actual changed list. This was causing strange behavior for listeners.
[1.3.1] - 23/06/2021 #
FIXED:
- Extensions were not being exported and could not be used.
CHANGES:
- Added a
styx
extension for anyRx<T>
type for ease of use for reactive widgets.
class Person {
Person({String title = ''}) {
this.title(title);
}
final title = ''.obs;
}
final person = Person(title: "Name");
/// Then inside a widget somewhere.
person.title.styx((value) {
return Text(value);
})
[1.3.0] - 23/06/2021 #
BREAKING CHANGES:
- EntitySystem and EntityMatcher updated to expect
Rx<Entity>
instead ofEntity
directly as theRx<T>
functionality was expected in various places.
This will be changed in 2.0.0 as Entity itself will implement Rx directly and won't
need to be wrapped with Rx<T>
.
[1.2.1] - 22/06/2021 #
FIXED:
guid
was missing from Entityprops
, which could cause two different entities with matching components and values to match even though they have different guids.
[1.2.0] - 21/06/2021 #
CHANGES::
- Added a new EntityMatcher class that can be used to describe a way of matching entities. Can be used on it's own to create your own grouping of entities and will be used in the Flutter specific package for Styx.
- Added a new method
hasComponent
for when the Type is not explicity known.
[1.1.0] - 27/03/2021 #
Full release! Matched to Get ^4.1.0
CHANGES:
- Added a new method for getting component differences between two entities.
[1.0.0-nullsafety.6] - 19/03/2021 #
FIXED:
- Fixing an issue where the entityToJsonFunction was not being used.
[1.0.0-nullsafety.5] - 19/03/2021 #
FIXED:
- Fixing pub.dev warnings and gradings.
[1.0.0-nullsafety.4] - 19/03/2021 #
FIXED:
- Fixed an issue with a circular call between
Entity
andEntitySystem
that was causing a StackOverflow error.
[1.0.0-nullsafety.3] - 19/03/2021 #
FIXED:
- Fixed an issue with json_serializable that was picking up on the
fromJson
factory onEntity
.
[1.0.0-nullsafety.2] - 19/03/2021 #
CHANGES:
- Added a serializable component mixin.
[1.0.0-nullsafety.1] - 19/03/2021 #
FIXED:
- Fixed small nits with README.
[1.0.0-nullsafety.0] - 19/03/2021 #
CHANGES: Initial release with basic structure.