using System.Collections.Generic; using EcsRx.Components; using EcsRx.Entities; using EcsRx.Plugins.Batching.Batches; namespace EcsRx.Plugins.Batching.Builders { public interface IReferenceBatchBuilder : IBatchBuilder {} public interface IReferenceBatchBuilder : IReferenceBatchBuilder where T1 : class, IComponent where T2 : class, IComponent { ReferenceBatch[] Build(IReadOnlyList entities); } public interface IReferenceBatchBuilder : IReferenceBatchBuilder where T1 : class, IComponent where T2 : class, IComponent where T3 : class, IComponent { ReferenceBatch[] Build(IReadOnlyList entities); } public interface IReferenceBatchBuilder : IReferenceBatchBuilder where T1 : class, IComponent where T2 : class, IComponent where T3 : class, IComponent where T4 : class, IComponent { ReferenceBatch[] Build(IReadOnlyList entities); } public interface IReferenceBatchBuilder : IReferenceBatchBuilder where T1 : class, IComponent where T2 : class, IComponent where T3 : class, IComponent where T4 : class, IComponent where T5 : class, IComponent { ReferenceBatch[] Build(IReadOnlyList entities); } public interface IReferenceBatchBuilder : IReferenceBatchBuilder where T1 : class, IComponent where T2 : class, IComponent where T3 : class, IComponent where T4 : class, IComponent where T5 : class, IComponent where T6 : class, IComponent { ReferenceBatch[] Build(IReadOnlyList entities); } }