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.

29 lines
1.1KB

  1. namespace Svelto.ECS
  2. {
  3. class GenericentityStreamConsumerFactory : IEntityStreamConsumerFactory
  4. {
  5. public GenericentityStreamConsumerFactory(DataStructures.WeakReference<EnginesRoot> weakReference)
  6. {
  7. _enginesRoot = weakReference;
  8. }
  9. public Consumer<T> GenerateConsumer<T>(string name, int capacity) where T : unmanaged, IEntityStruct
  10. {
  11. return _enginesRoot.Target.GenerateConsumer<T>(name, capacity);
  12. }
  13. public Consumer<T> GenerateConsumer<T>(ExclusiveGroup group, string name, int capacity) where T : unmanaged, IEntityStruct
  14. {
  15. return _enginesRoot.Target.GenerateConsumer<T>(group, name, capacity);
  16. }
  17. readonly DataStructures.WeakReference<EnginesRoot> _enginesRoot;
  18. }
  19. public interface IEntityStreamConsumerFactory
  20. {
  21. Consumer<T> GenerateConsumer<T>(string name, int capacity) where T : unmanaged, IEntityStruct;
  22. Consumer<T> GenerateConsumer<T>(ExclusiveGroup group, string name, int capacity)
  23. where T : unmanaged, IEntityStruct;
  24. }
  25. }