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.

32 lines
1.6KB

  1. namespace Svelto.ECS
  2. {
  3. public interface IEntityFunctions
  4. {
  5. //being entity ID globally not unique, the group must be specified when
  6. //an entity is removed. Not specifying the group will attempt to remove
  7. //the entity from the special standard group.
  8. void RemoveEntity<T>(uint entityID, ExclusiveBuildGroup groupID) where T : IEntityDescriptor, new();
  9. void RemoveEntity<T>(EGID entityegid) where T : IEntityDescriptor, new();
  10. void RemoveEntitiesFromGroup(ExclusiveBuildGroup groupID);
  11. void SwapEntitiesInGroup<T>(ExclusiveBuildGroup fromGroupID, ExclusiveBuildGroup toGroupID) where T : IEntityDescriptor, new();
  12. void SwapEntityGroup<T>(uint entityID, ExclusiveBuildGroup fromGroupID, ExclusiveBuildGroup toGroupID)
  13. where T : IEntityDescriptor, new();
  14. void SwapEntityGroup<T>(EGID fromID, ExclusiveBuildGroup toGroupID) where T : IEntityDescriptor, new();
  15. void SwapEntityGroup<T>(EGID fromID, ExclusiveBuildGroup fromGroup, ExclusiveBuildGroup toGroupID)
  16. where T : IEntityDescriptor, new();
  17. void SwapEntityGroup<T>(EGID fromID, EGID toId) where T : IEntityDescriptor, new();
  18. void SwapEntityGroup<T>(EGID fromID, EGID toId, ExclusiveBuildGroup mustBeFromGroup)
  19. where T : IEntityDescriptor, new();
  20. #if UNITY_NATIVE
  21. Svelto.ECS.Native.NativeEntityRemove ToNativeRemove<T>(string memberName) where T : IEntityDescriptor, new();
  22. Svelto.ECS.Native.NativeEntitySwap ToNativeSwap<T>(string memberName) where T : IEntityDescriptor, new();
  23. #endif
  24. }
  25. }