public void SchedulerContainsAllSystems() { var systems = new List <ISystemInstance> { new SystemInstanceFake(), new SystemInstanceFake(), new SystemInstanceFake(), new SystemInstanceFake() }; var updateScheduler = new SystemUpdateScheduler(systems); var scheduledSystems = updateScheduler.UpdateBursts.Single().Systems; scheduledSystems.Should().HaveSameCount(systems).And.Contain(systems); }
public RuntimeEngine(RuntimeEntityService entityService, ISystemManager systemManager, EventQueue eventQueue, ILogger logger) { AddEntityAccessGate = new AccessGate(); EventQueue = eventQueue; _logger = logger; EntityService = entityService; EntityService.AddEntityAccessGate = AddEntityAccessGate; SystemManager = systemManager; SystemUpdateScheduler = new SystemUpdateScheduler(SystemManager.Systems); foreach (var updateBurst in SystemUpdateScheduler.UpdateBursts) { _logger.Info($"Update Burst: {string.Join(", ", updateBurst.Systems.Select(p => p.System.Name))}"); } // Add any entities that are already loaded into the engine. SystemManager.AddEntities(entityService.Entities); }