Full ECS discussion gist: https://gist.github.com/LearnCocos2D/77f0ced228292676689f
foreach entity in allEntities do
foreach component in entity.components do
component.update()
end
end
foreach componentSystem in allComponentSystems do
foreach component in componentSystem.components do
component.update()
end
end
foreach componentSystem in allComponentSystems do
componentSystem.update() // inner loop encapsulated by GKComponentSystem
end
foreach componentSystem in allComponentSystems do
foreach component in componentSystem.components do
// component (data) processing logic inlined here ...
end
end