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

Streamline Scene / GameObjectManager Implementation #512

Closed
ilexp opened this issue Mar 18, 2017 · 2 comments

Comments

1 participant
@ilexp
Copy link
Member

commented Mar 18, 2017

Summary

Most of the current Scene implementations object management is based on per-object operations and event subscriptions. Using per-batch-of-objects operations seems preferable with regard to both performance and API.

Analysis

  • Replace per-object API of GameObjectManager class with per-batch-of-objects API.
    • Every batch of objects will be treated as one entity with regard to init and shutdown of its parts.
    • Different batches of objects will be treated independently of each other.
  • Update Scene implementation to reflect this.
  • Update code introduced in issue #303 to make use of the improvements made here.
    • Fix component exec order for cases where a GameObject tree is added to or removed from an already active scene and activate the two unit tests related to this.
    • Currently works on a per-GameObject basis, not on a per-Tree basis due to lack of control with the old API.
@ilexp

This comment has been minimized.

Copy link
Member Author

commented Mar 19, 2017

Progress

  • Added batched versions of the add / remove events to GameObjectManager and Scene.
  • Replaced all core and editor usages of the old single-object events.
  • Flagged the single-object versions of the add / remove events as obsolete and to be removed in v3.0.

Immediate ToDo

  • Merge to develop-3.0 and remove obsolete code.
  • Update code introduced in issue #303 to make use of the improvements made here.
    • Fix component exec order for cases where a GameObject tree is added to or removed from an already active scene and activate the two unit tests related to this.
    • Currently works on a per-GameObject basis, not on a per-Tree basis due to lack of control with the old API.
@ilexp

This comment has been minimized.

Copy link
Member Author

commented Mar 25, 2017

Done.

@ilexp ilexp closed this Mar 25, 2017

@ilexp ilexp self-assigned this Mar 26, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.