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.

IEnginesInterfaces.cs 1.2KB

123456789101112131415161718192021222324252627
  1. namespace Svelto.ECS
  2. {
  3. public interface IEntityFactory
  4. {
  5. void Preallocate<T>(int size) where T : IEntityDescriptor, new();
  6. void BuildEntity<T>(int entityID, object[] implementors = null) where T:IEntityDescriptor, new();
  7. void BuildEntity(int entityID, EntityDescriptorInfo entityDescriptor, object[] implementors = null);
  8. void BuildMetaEntity<T>(int metaEntityID, object[] implementors = null) where T:IEntityDescriptor, new();
  9. void BuildEntityInGroup<T>(int entityID, int groupID, object[] implementors = null) where T:IEntityDescriptor, new();
  10. void BuildEntityInGroup(int entityID, int groupID, EntityDescriptorInfo entityDescriptor, object[] implementors = null);
  11. }
  12. public interface IEntityFunctions
  13. {
  14. void RemoveEntity(int entityID, IRemoveEntityComponent removeInfo);
  15. void RemoveEntity<T>(int entityID) where T:IEntityDescriptor, new();
  16. void RemoveMetaEntity<T>(int metaEntityID) where T:IEntityDescriptor, new();
  17. void RemoveEntityFromGroup<T>(int entityID, int groupID) where T:IEntityDescriptor, new();
  18. void SwapEntityGroup<T>(int entityID, int fromGroupID, int toGroupID) where T : IEntityDescriptor, new();
  19. }
  20. }