This commit is contained in:
DCFApixels 2025-07-11 23:37:48 +08:00
parent c23aa1b223
commit ab50dcb7e3
3 changed files with 18 additions and 5 deletions

View File

@ -368,7 +368,7 @@ namespace DCFApixels.DragonECS
}
}
EcsPipeline pipeline = new EcsPipeline(Configs.Instance.GetContainer(), Injector, allSystems);
EcsPipeline pipeline = new EcsPipeline(allSystems, Configs.Instance.GetContainer(), Injector);
foreach (var item in _initDeclaredRunners)
{
item.Declare(pipeline);

View File

@ -78,10 +78,23 @@ namespace DCFApixels.DragonECS
#endregion
#region Constructors
private EcsPipeline(IConfigContainer configs, Injector.Builder injectorBuilder, IEcsProcess[] systems)
public EcsPipeline(IEnumerable<IEcsProcess> systems, IConfigContainer configs = null, Injector.Builder injectorBuilder = null)
{
if(systems == null)
{
Throw.ArgumentNull(nameof(systems));
}
if(configs == null)
{
configs = new ConfigContainer();
}
if(injectorBuilder == null)
{
injectorBuilder = new Injector.Builder(null);
}
_configs = configs;
_allSystems = systems;
_allSystems = systems.ToArray();
injectorBuilder.Inject(this);
var members = GetProcess<IEcsPipelineMember>();

View File

@ -178,7 +178,7 @@ namespace DCFApixels.DragonECS
{
private EcsPipeline.Builder _source;
private Injector _instance;
private List<InitInjectBase> _initInjections = new List<InitInjectBase>(16);
private List<InitInjectBase> _initInjections = new List<InitInjectBase>(32);
private EcsWorld _monoWorld;
internal Builder(EcsPipeline.Builder source)
{