From e4dc76e0372accc5a5c44733e587992428e22d98 Mon Sep 17 00:00:00 2001 From: DCFApixels <99481254+DCFApixels@users.noreply.github.com> Date: Mon, 14 Jul 2025 21:10:57 +0800 Subject: [PATCH] update --- src/EcsPipeline.Builder.cs | 2 +- src/EcsPipeline.cs | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/EcsPipeline.Builder.cs b/src/EcsPipeline.Builder.cs index 34e1efe..64b6309 100644 --- a/src/EcsPipeline.Builder.cs +++ b/src/EcsPipeline.Builder.cs @@ -368,7 +368,7 @@ namespace DCFApixels.DragonECS } } - EcsPipeline pipeline = new EcsPipeline(allSystems, Configs.Instance.GetContainer(), Injections.Instance); + EcsPipeline pipeline = new EcsPipeline((ReadOnlySpan)allSystems, Configs.Instance.GetContainer(), Injections.Instance); foreach (var item in _initDeclaredRunners) { item.Declare(pipeline); diff --git a/src/EcsPipeline.cs b/src/EcsPipeline.cs index 788a127..a8ca5d0 100644 --- a/src/EcsPipeline.cs +++ b/src/EcsPipeline.cs @@ -78,21 +78,25 @@ namespace DCFApixels.DragonECS #endregion #region Constructors - public EcsPipeline(IEnumerable systems, IConfigContainer configs = null, Injector.InjectionList injectionList = null) + public EcsPipeline(ReadOnlySpan systems, IConfigContainer configs = null, Injector.InjectionList injectionList = null) : + this(systems.ToArray(), configs, injectionList) + { } + public EcsPipeline(IEnumerable 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) + if (configs == null) { configs = new ConfigContainer(); } - if(injectionList == null) + if (injectionList == null) { injectionList = Injector.InjectionList._Empty_Internal; } _configs = configs; - _allSystems = systems.ToArray(); + _allSystems = systems; var members = GetProcess(); 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; }