Releases: HexDecimal/python-tcod-ecs
Releases · HexDecimal/python-tcod-ecs
5.1.0
Changed
- Renamed
Worldto the more standard nameRegistryin multiple places.
Deprecated
Worldis nowRegistryWorldQueryis nowBoundQuery.worldattributes ofEntityandBoundQueryare now.registry
Fixed
- Updated
EntityComponents.__ior__type hints which were causing false positives.
5.0.0
Added
- Added the
tcod.ecs.IsAsentinel value. - Entities will automatically inherit components/tags/relations from entities they have an
IsArelationship with. #15 - Entities can be used as prefabs, use
Entity.instantiate()to make a new entities inheriting the base entities components/tags/relations.
Removed
tcod.ecs.query.Queryremoved due to a refactor.abstract_componentdecorator removed.
Fixed
- Fix for
x in Entity.relation_tags_manynot checking the correct values.
4.4.0
4.3.1
Fixed
- Relation component lookup tables were replacing previous entries instead of adding to them.
- Relation ellipsis lookup tables were discarding entities which still had a relevant relation.
4.3.0
Added
tcod.ecs.typing.ComponentKeyis now stable.- Can now register a callback to be called on component changes.
Fixed
- Fixed stale caches for relation component queries.
4.2.1
Fixed
- Unpickled worlds had reversed relations from what were saved.
4.2.0
Added
Entity.relation_componentsnow hasMutableMappingfunctionality.- You can now set the value of
Entity.relation_components[component_key] = {target: component}. - Added the
Entity.clearmethod which effectively deletes an entity by removing its components/tags/relations.
This does not delete relations targeting the cleared entity.
4.1.0
4.0.0
Changed
- The type returned by
World.Qhas been renamed fromtcod.ecs.Querytotcod.ecs.query.WorldQuery. - Serialization format updated.
Performance
- Added a simple query cache.
A query is automatically cached until any of the components/tags/relations it depends on have changed.