- Now entity.key() is the same as entity.key.value
- Entity:serialize only serializes component given correctly
- Any other value inside the Entity is ignored
- Disable some diagnostics used in Lua language server by sumneko
You can now give the 'key' component to Entities.
A key will be generated automatically and stored in Entity.key.value.
You can then use this key to fetch the Entity from the World with World:getEntityByKey(key)
The keys are generated with a generator function that can be overriden.
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
Turns out doing a 'setmetatable' only makes the code 0.00038% slower. Effectively making the previous code slower because of the branches.
Who would've tought