40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace Encompass
|
|
{
|
|
public class World
|
|
{
|
|
private List<Engine> enginesInOrder;
|
|
private EntityManager entityManager;
|
|
private ComponentManager componentManager;
|
|
private MessageManager messageManager;
|
|
|
|
internal World(
|
|
List<Engine> 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();
|
|
}
|
|
}
|
|
}
|