--------------------------------------------------------------------------------------------------- Concept --------------------------------------------------------------------------------------------------- Scene - Houses management entities and the root zone Zone - PVS region, houses entities with a position Entity - Hierarchically container for components Component - Can be added to an entity Actor - ? Registry / Subset / Aspect - Keeps track of components of a certain type, for example all Updateable components that should receive an update call once per frame. This moves the heavy lifting to component and entity creation, keeping the regular updating fast since it only needs to go through a list. Essentially like XNA's specialized IDrawable/IUpdateable collections, but done in a generic way that works for all kinds components. Need to get all self-updating components? Keep a Registry. Need to get all light sources? Keep a Registry. --------------------------------------------------------------------------------------------------- Concept --------------------------------------------------------------------------------------------------- Scene ManagementEntities RootZone Entity - Has a collection of components BakedEntity - Includes some fixed components BakedEntity - Includes some fixed components Component - Can be added to an entity Hooks / Traits / Aspects / Concepts - For specific components, a global registry can be made Use C++ RTTI similar to the "Any" container --------------------------------------------------------------------------------------------------- Usage --------------------------------------------------------------------------------------------------- Scene