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.1KB

1234567891011121314151617181920212223242526
  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 template);
  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. }
  19. }