namespace Svelto.ECS { public interface IEntityFunctions { //being entity ID globally not unique, the group must be specified when //an entity is removed. Not specifying the group will attempt to remove //the entity from the special standard group. void RemoveEntity(uint entityID, BuildGroup groupID) where T : IEntityDescriptor, new(); void RemoveEntity(EGID entityegid) where T : IEntityDescriptor, new(); void RemoveEntitiesFromGroup(BuildGroup groupID); void SwapEntitiesInGroup(BuildGroup fromGroupID, BuildGroup toGroupID) where T : IEntityDescriptor, new(); void SwapEntityGroup(uint entityID, BuildGroup fromGroupID, BuildGroup toGroupID) where T : IEntityDescriptor, new(); void SwapEntityGroup(EGID fromID, BuildGroup toGroupID) where T : IEntityDescriptor, new(); void SwapEntityGroup(EGID fromID, BuildGroup toGroupID, BuildGroup mustBeFromGroup) where T : IEntityDescriptor, new(); void SwapEntityGroup(EGID fromID, EGID toId) where T : IEntityDescriptor, new(); void SwapEntityGroup(EGID fromID, EGID toId, BuildGroup mustBeFromGroup) where T : IEntityDescriptor, new(); #if UNITY_NATIVE NativeEntityRemove ToNativeRemove(string memberName) where T : IEntityDescriptor, new(); NativeEntitySwap ToNativeSwap(string memberName) where T : IEntityDescriptor, new(); #endif } }