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.

35 lines
806B

  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 IReactOnSwap : IReactEngine
  9. {}
  10. }
  11. namespace Svelto.ECS
  12. {
  13. public interface IEngine
  14. {}
  15. public interface IReactOnAddAndRemove<T> : IReactOnAddAndRemove where T : IEntityComponent
  16. {
  17. void Add(ref T entityComponent, EGID egid);
  18. void Remove(ref T entityComponent, EGID egid);
  19. }
  20. public interface IReactOnSwap<T> : IReactOnSwap where T : IEntityComponent
  21. {
  22. void MovedTo(ref T entityComponent, ExclusiveGroupStruct previousGroup, EGID egid);
  23. }
  24. public interface IReactOnSubmission:IReactEngine
  25. {
  26. void EntitiesSubmitted();
  27. }
  28. }