Mirror of Svelto.ECS because we're a fan of it
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
994B

  1. using Svelto.Common;
  2. using Svelto.DataStructures;
  3. namespace Svelto.ECS
  4. {
  5. public abstract class UnsortedEnginesGroup<Interface> : IStepGroupEngine
  6. where Interface : IStepEngine
  7. {
  8. protected UnsortedEnginesGroup(FasterList<Interface> engines)
  9. {
  10. _name = "UnsortedEnginesGroup - "+this.GetType().Name;
  11. _instancedSequence = engines;
  12. }
  13. public void Step()
  14. {
  15. var sequenceItems = _instancedSequence;
  16. using (var profiler = new PlatformProfiler(_name))
  17. {
  18. for (var index = 0; index < sequenceItems.count; index++)
  19. {
  20. var engine = sequenceItems[index];
  21. using (profiler.Sample(engine.name)) engine.Step();
  22. }
  23. }
  24. }
  25. public string name => _name;
  26. readonly string _name;
  27. readonly FasterList<Interface> _instancedSequence;
  28. }
  29. }