This commit is contained in:
DCFApixels 2025-07-14 21:10:57 +08:00
parent cfc1ffe9a6
commit e4dc76e037
2 changed files with 11 additions and 8 deletions

View File

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

View File

@ -78,10 +78,14 @@ namespace DCFApixels.DragonECS
#endregion
#region Constructors
public EcsPipeline(IEnumerable<IEcsProcess> systems, IConfigContainer configs = null, Injector.InjectionList injectionList = null)
public EcsPipeline(ReadOnlySpan<IEcsProcess> systems, IConfigContainer configs = null, Injector.InjectionList injectionList = null) :
this(systems.ToArray(), configs, injectionList)
{ }
public EcsPipeline(IEnumerable<IEcsProcess> systems, IConfigContainer configs = null, Injector.InjectionList injectionList = null) :
this(systems.ToArray(), configs, injectionList)
{ }
private EcsPipeline(IEcsProcess[] systems, IConfigContainer configs, Injector.InjectionList injectionList)
{
if(systems == null) { Throw.ArgumentNull(nameof(systems)); }
if (configs == null)
{
configs = new ConfigContainer();
@ -92,7 +96,7 @@ namespace DCFApixels.DragonECS
}
_configs = configs;
_allSystems = systems.ToArray();
_allSystems = systems;
var members = GetProcess<IEcsPipelineMember>();
for (int i = 0; i < members.Length; i++)
@ -103,7 +107,6 @@ namespace DCFApixels.DragonECS
_injector = new Injector(this);
injectionList.InitInjectTo(_injector, this);
}
~EcsPipeline()
{
if (_isDestoryed) { return; }