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.

40 lines
868B

  1. namespace Svelto.ECS
  2. {
  3. public interface IEngine
  4. {}
  5. public interface INodeEngine<in TNodeType>:IEngine where TNodeType:INode
  6. {
  7. void Add(TNodeType obj);
  8. void Remove(TNodeType obj);
  9. }
  10. public interface INodeEngine<in T, in U>:INodeEngine<U> where T:INode where U:INode
  11. {
  12. void Add(T obj);
  13. void Remove(T obj);
  14. }
  15. public interface INodeEngine<in T, in U, in V>:INodeEngine<U, V> where T:INode where U:INode where V:INode
  16. {
  17. void Add(T obj);
  18. void Remove(T obj);
  19. }
  20. public interface INodeEngine:IEngine
  21. {
  22. void Add(INode obj);
  23. void Remove(INode obj);
  24. }
  25. public interface INodesEngine : INodeEngine
  26. {
  27. System.Type[] AcceptedNodes();
  28. }
  29. public interface IQueryableNodeEngine:IEngine
  30. {
  31. IEngineNodeDB nodesDB { set; }
  32. }
  33. }