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.

43 lines
1.0KB

  1. using Svelto.ECS.Internal;
  2. namespace Svelto.ECS.Internal
  3. {
  4. public interface IReactEngine: IEngine
  5. {}
  6. public interface IReactOnAddAndRemove : IReactEngine
  7. {}
  8. public interface IReactOnDispose : IReactEngine
  9. {}
  10. public interface IReactOnSwap : IReactEngine
  11. {}
  12. }
  13. namespace Svelto.ECS
  14. {
  15. public interface IEngine
  16. {}
  17. public interface IReactOnAddAndRemove<T> : IReactOnAddAndRemove where T : IEntityComponent
  18. {
  19. void Add(ref T entityComponent, EGID egid);
  20. void Remove(ref T entityComponent, EGID egid);
  21. }
  22. public interface IReactOnDispose<T> : IReactOnDispose where T : IEntityComponent
  23. {
  24. void Remove(ref T entityComponent, EGID egid);
  25. }
  26. public interface IReactOnSwap<T> : IReactOnSwap where T : IEntityComponent
  27. {
  28. void MovedTo(ref T entityComponent, ExclusiveGroupStruct previousGroup, EGID egid);
  29. }
  30. public interface IReactOnSubmission:IReactEngine
  31. {
  32. void EntitiesSubmitted();
  33. }
  34. }