namespace Svelto.ECS { class GenericEntityDescriptor : EntityDescriptor where T : NodeWithID, new() { static GenericEntityDescriptor() { _nodesToBuild = new INodeBuilder[] { new NodeBuilder() }; } public GenericEntityDescriptor(params object[] componentsImplementor) : base(_nodesToBuild, componentsImplementor) {} static INodeBuilder[] _nodesToBuild; } class GenericEntityDescriptor : EntityDescriptor where T : NodeWithID, new() where U : NodeWithID, new() { static GenericEntityDescriptor() { _nodesToBuild = new INodeBuilder[] { new NodeBuilder(), new NodeBuilder() }; } public GenericEntityDescriptor(params object[] componentsImplementor) : base(_nodesToBuild, componentsImplementor) {} static INodeBuilder[] _nodesToBuild; } class GenericEntityDescriptor : EntityDescriptor where T : NodeWithID, new() where U : NodeWithID, new() where V : NodeWithID, new() { static GenericEntityDescriptor() { _nodesToBuild = new INodeBuilder[] { new NodeBuilder(), new NodeBuilder(), new NodeBuilder() }; } public GenericEntityDescriptor(params object[] componentsImplementor) : base(_nodesToBuild, componentsImplementor) { } static INodeBuilder[] _nodesToBuild; } class GenericEntityDescriptor : EntityDescriptor where T : NodeWithID, new() where U : NodeWithID, new() where V : NodeWithID, new() where W : NodeWithID, new() { static GenericEntityDescriptor() { _nodesToBuild = new INodeBuilder[] { new NodeBuilder(), new NodeBuilder(), new NodeBuilder(), new NodeBuilder() }; } public GenericEntityDescriptor(params object[] componentsImplementor) : base(_nodesToBuild, componentsImplementor) { } static INodeBuilder[] _nodesToBuild; } class GenericEntityDescriptor : EntityDescriptor where T : NodeWithID, new() where U : NodeWithID, new() where V : NodeWithID, new() where W : NodeWithID, new() where X : NodeWithID, new() { static GenericEntityDescriptor() { _nodesToBuild = new INodeBuilder[] { new NodeBuilder(), new NodeBuilder(), new NodeBuilder(), new NodeBuilder(), new NodeBuilder() }; } public GenericEntityDescriptor(params object[] componentsImplementor) : base(_nodesToBuild, componentsImplementor) { } static INodeBuilder[] _nodesToBuild; } class GenericEntityDescriptor : EntityDescriptor where T : NodeWithID, new() where U : NodeWithID, new() where V : NodeWithID, new() where W : NodeWithID, new() where X : NodeWithID, new() where Y : NodeWithID, new() { static GenericEntityDescriptor() { _nodesToBuild = new INodeBuilder[] { new NodeBuilder(), new NodeBuilder(), new NodeBuilder(), new NodeBuilder(), new NodeBuilder(), new NodeBuilder() }; } public GenericEntityDescriptor(params object[] componentsImplementor) : base(_nodesToBuild, componentsImplementor) { } static INodeBuilder[] _nodesToBuild; } }