Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Abstract entities refactor #21

Merged
merged 32 commits into from
Apr 26, 2019
Merged

Abstract entities refactor #21

merged 32 commits into from
Apr 26, 2019

Conversation

AmaranthineCodices
Copy link
Collaborator

@AmaranthineCodices AmaranthineCodices commented Apr 19, 2019

A ground-up rewrite of RECS that supports abstract entities.

Closes #20, closes #19, closes #5, and closes #3.

To-do

  • Make component classes actual classes with __index support
  • Re-implement component added/removed signals
  • (Better) plugin API
  • Introduce batched component add/remove APIs

Scrapped (planned for later PRs)

  • Stock plugins
    • Changed events and/or dirty flags on components (or entities)
    • Tagged Roblox instance -> entity
  • More unit test coverage
    • Explicitly unit test that component identifiers can be strings
  • Ability to destroy a Core after starting it

@AmaranthineCodices AmaranthineCodices added the enhancement New feature or request label Apr 19, 2019
signals now fire some time before the component is actually removed
batchAddComponents:
- adds an arbitrary number of components to an entity
- fires added events after all are added
- invokes plugins' componentAdded callbacks after all are added

batchRemoveComponents:
- removes an arbitrary number of components from an entity
- fires removed events before removing any
- invokes plugins' componentRemoving callbacks before removing any
guarantee that componentAdded fires before the added event is fired

guarantee that componentRemoving fires before the removing event is fired
- remove overly verbose property setters (requires rojo 0.5-alpha.5)
- set CharacterAutoLoads to false, since there's no baseplate
@AmaranthineCodices AmaranthineCodices marked this pull request as ready for review April 26, 2019 06:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

WIP: Abstract entities Actual unit testing Clean up code Expand plugin API
1 participant