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
matchmethod to an EntityMatcher where you pass it anEntitySystemand 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
EntitySystemto allow for a custom entity key generator. Allows systems to uniquely identify Entities their own way if desired.
CHANGES:
- Deprecating the
callmethods 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
EntityUniqueKeyGeneratorFunctiontype 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
Entitydirectly instead ofRx<Entity>. - The
.styxextension has been removed and has been added to thestyx_flutter:>=2.0package.
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
styxextension 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 ofEntitydirectly 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:
guidwas 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
hasComponentfor 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
EntityandEntitySystemthat 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
fromJsonfactory 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.