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