using System.Collections.Generic; namespace Encompass { public class World { private List enginesInOrder; private EntityManager entityManager; private ComponentManager componentManager; private MessageManager messageManager; internal World( List enginesInOrder, EntityManager entityManager, ComponentManager componentManager, MessageManager messageManager ) { this.enginesInOrder = enginesInOrder; this.entityManager = entityManager; this.componentManager = componentManager; this.messageManager = messageManager; } public void Update(float dt) { foreach (var engine in enginesInOrder) { engine.Update(dt); } messageManager.ClearMessages(); entityManager.DestroyMarkedEntities(); componentManager.ActivateComponents(); componentManager.DeactivateComponents(); componentManager.RemoveComponents(); } } }