namespace Svelto.ECS { public abstract class GenericEntityDescriptor : IEntityDescriptor where T : struct, IEntityStruct { static readonly IEntityBuilder[] _entityBuilders; static GenericEntityDescriptor() { _entityBuilders = new IEntityBuilder[] {new EntityBuilder()}; } public IEntityBuilder[] entitiesToBuild => _entityBuilders; } public abstract class GenericEntityDescriptor : IEntityDescriptor where T : struct, IEntityStruct where U : struct, IEntityStruct { static readonly IEntityBuilder[] _entityBuilders; static GenericEntityDescriptor() { _entityBuilders = new IEntityBuilder[] {new EntityBuilder(), new EntityBuilder()}; } public IEntityBuilder[] entitiesToBuild => _entityBuilders; } public abstract class GenericEntityDescriptor : IEntityDescriptor where T : struct, IEntityStruct where U : struct, IEntityStruct where V : struct, IEntityStruct { static readonly IEntityBuilder[] _entityBuilders; static GenericEntityDescriptor() { _entityBuilders = new IEntityBuilder[] { new EntityBuilder(), new EntityBuilder(), new EntityBuilder() }; } public IEntityBuilder[] entitiesToBuild => _entityBuilders; } public abstract class GenericEntityDescriptor : IEntityDescriptor where T : struct, IEntityStruct where U : struct, IEntityStruct where V : struct, IEntityStruct where W : struct, IEntityStruct { static readonly IEntityBuilder[] _entityBuilders; static GenericEntityDescriptor() { _entityBuilders = new IEntityBuilder[] { new EntityBuilder(), new EntityBuilder(), new EntityBuilder(), new EntityBuilder() }; } public IEntityBuilder[] entitiesToBuild => _entityBuilders; } public abstract class GenericEntityDescriptor : IEntityDescriptor where T : struct, IEntityStruct where U : struct, IEntityStruct where V : struct, IEntityStruct where W : struct, IEntityStruct where X : struct, IEntityStruct { static readonly IEntityBuilder[] _entityBuilders; static GenericEntityDescriptor() { _entityBuilders = new IEntityBuilder[] { new EntityBuilder(), new EntityBuilder(), new EntityBuilder(), new EntityBuilder(), new EntityBuilder() }; } public IEntityBuilder[] entitiesToBuild => _entityBuilders; } public abstract class GenericEntityDescriptor : IEntityDescriptor where T : struct, IEntityStruct where U : struct, IEntityStruct where V : struct, IEntityStruct where W : struct, IEntityStruct where X : struct, IEntityStruct where Y : struct, IEntityStruct { static readonly IEntityBuilder[] _entityBuilders; static GenericEntityDescriptor() { _entityBuilders = new IEntityBuilder[] { new EntityBuilder(), new EntityBuilder(), new EntityBuilder(), new EntityBuilder(), new EntityBuilder(), new EntityBuilder() }; } public IEntityBuilder[] entitiesToBuild => _entityBuilders; } }