Skip to content

Releases: realtradam/FelECS

Minor Addition

03 Feb 09:21
Compare
Choose a tag to compare

Added

  • Added a method to the Entity Manager which allows grouping entities by components and then execute a block for each one.
FelECS::Entities.group(@component_manager_one, @component_manager_two).do |cmp1, cmp2, ent|
# do stuff with the components and entity
end

Rename

02 Feb 08:41
Compare
Choose a tag to compare

Changed

  • Renamed to FelECS

Fixed

  • Trigger on attr_changed was fixed to now trigger the system after the attr value is changed.

Major Overhaul

03 Jan 13:32
a0f792d
Compare
Choose a tag to compare

Removed

  • Removed all ids as they were not used

Changed

  • Scenes now have their own priority attribute
  • Stages now sort and execute by Scenes, rather then the net Systems in the Scenes
  • Component method .attrs was renamed to .to_h
  • Renamed the data accessor to ._data
  • Various arrays are automatically compacted

Added

  • Classes and Modules which used a data array now have the entire set of array methods available to their respective Classes and Modules
  • Convenience methods for accessing a single entity in a component(@component.entity) and accessing a single entity in a component(@entity.component[@component_manager])
  • FelFlame::Order class which can set the order of your Scenes and Systems

Fixed

  • Replaced all instances of sort_by! with sort_by for compatibility with mruby
  • Minor optimizations such as less array duplication

Major Changes

29 Dec 10:39
ac8888f
Compare
Choose a tag to compare

Changed

  • The Scene alias was changed from FelFlame::Sce to FelFlame::Scn as it is more intuitive.

Major Changes

10 Jul 07:17
Compare
Choose a tag to compare

Changed

  • Entities and Components now reference each other using the objects themselves rather then their id's
# before:
@entity.components[@component_manager].each do |component_id|
  # iterate over id's, usually would need to do a lookup to get the component itself
end

# after:
@entity.components[@component_manager].each do |component|
  # iterate over the components themselves! No need for lookup anymore
end
# same for components referencing entities
# before:
@component.entities.each do |entity_id|
  #iterate over id's
end

# after:
@component.entities.each do |entity|
  # directly iterate over entities themselves!
end

Minor Fixes

09 Jul 21:53
Compare
Choose a tag to compare

Fixed

  • Stripped superflous files shrinking gem size significantly

Minor Fixes

09 Jul 21:41
Compare
Choose a tag to compare

Fixed

  • Defining attributes in components are no longer allowed to overwrite methods

Initial Release

09 Jul 20:18
Compare
Choose a tag to compare

Added

  • Initial release