Filters allow for a Pool constructor (defaults to Lists) that can be used to define Custom Pools.
The constructor is a function that takes the Filter Definition and returns a Custom Pool with these functions:
:add(e) - Add the Entity to the pool
:remove(e) - Remove the Entity from the pool
:has(e) boolean - Checks if the Entity exists in the pool
:clear() - Clears the Pool from Entities
Fixes#40
Removed hasName/getName on Systems and Worlds.
Removed Entity.__components since it had a duplicate version of the components stored in the Entity itself.
main changes:
- add parameter and return types where applicable
- use @module and @classmod tags at the top of files
- remove some redundant descriptions of return values, especially for functions that return a boolean
recommended next steps:
- more consistent grammar
- add links to classes and functions in descriptions where appropriate
- be consistent about naming Systems vs. SystemClasses and Components vs. ComponentClasses