protected override void ApplicationStarted() { _componentTypeLookup = Container.Resolve <IComponentTypeLookup>(); _componentDatabase = Container.Resolve <IComponentDatabase>(); _batchBuilderFactory = Container.Resolve <IBatchBuilderFactory>(); _referenceBatchBuilderFactory = Container.Resolve <IReferenceBatchBuilderFactory>(); _collection = EntityCollectionManager.GetCollection(); ClassComponent1TypeId = _componentTypeLookup.GetComponentType(typeof(ClassComponent)); ClassComponent2TypeId = _componentTypeLookup.GetComponentType(typeof(ClassComponent2)); StructComponent1TypeId = _componentTypeLookup.GetComponentType(typeof(StructComponent)); StructComponent2TypeId = _componentTypeLookup.GetComponentType(typeof(StructComponent2)); var name = GetType().Name; Console.WriteLine($"{name} - {Description}"); var timer = Stopwatch.StartNew(); SetupEntities(); timer.Stop(); Console.WriteLine($"{name} - Setting up {EntityCount} entities in {timer.ElapsedMilliseconds}ms"); timer.Reset(); timer.Start(); for (var update = 0; update < SimulatedUpdates; update++) { RunProcess(); } timer.Stop(); var totalProcessTime = TimeSpan.FromMilliseconds(timer.ElapsedMilliseconds); Console.WriteLine($"{name} - Simulating {SimulatedUpdates} updates - Processing {EntityCount} entities in {totalProcessTime.TotalMilliseconds}ms"); Console.WriteLine(); }
public BatchManager(IComponentDatabase componentDatabase, IComponentTypeLookup componentTypeLookup, IBatchBuilderFactory batchBuilderFactory, IReferenceBatchBuilderFactory referenceBatchBuilderFactory, IObservableGroupManager observableGroupManager) { ComponentDatabase = componentDatabase; ComponentTypeLookup = componentTypeLookup; BatchBuilderFactory = batchBuilderFactory; ObservableGroupManager = observableGroupManager; ReferenceBatchBuilderFactory = referenceBatchBuilderFactory; }
protected BatchedSystem(IComponentDatabase componentDatabase, IComponentTypeLookup componentTypeLookup, IBatchBuilderFactory batchBuilderFactory, IThreadHandler threadHandler) : base(componentDatabase, componentTypeLookup, threadHandler) { _batchBuilder = batchBuilderFactory.Create <T1, T2>(); }
public BatchedMovementSystem(IComponentDatabase componentDatabase, IComponentTypeLookup componentTypeLookup, IBatchBuilderFactory batchBuilderFactory, IThreadHandler threadHandler) : base(componentDatabase, componentTypeLookup, batchBuilderFactory, threadHandler) { }
public BatchedMovementSystem(IComponentDatabase componentDatabase, IComponentTypeLookup componentTypeLookup, IBatchBuilderFactory batchBuilderFactory, IThreadHandler threadHandler, IObservableGroupManager observableGroupManager) : base(componentDatabase, componentTypeLookup, batchBuilderFactory, threadHandler, observableGroupManager) { }