diff --git a/src/EcsPipeline.cs b/src/EcsPipeline.cs index 9c0edba..82e2e9f 100644 --- a/src/EcsPipeline.cs +++ b/src/EcsPipeline.cs @@ -141,6 +141,11 @@ namespace DCFApixels.DragonECS #if (DEBUG && !DISABLE_DEBUG) || ENABLE_DRAGONECS_ASSERT_CHEKS _initMarker.Begin(); #endif + var members = GetProcess(); + for (int i = 0; i < members.Length; i++) + { + members[i].Pipeline = this; + } _injector = _injectorBuilder.Build(this); _injectorBuilder = null; @@ -219,7 +224,7 @@ namespace DCFApixels.DragonECS _injector.AddNode(); _injector.AddNode(); _injector.AddNode(); - _injector.AddCustomNode(new PipelinePropertyInjectionNode()); + _injector.AddNode(); _basicLayer = EcsConsts.BASIC_LAYER; Layers = new LayerList(this, _basicLayer); @@ -559,14 +564,4 @@ namespace DCFApixels.DragonECS } } #endregion -} -namespace DCFApixels.DragonECS.Internal -{ - internal sealed class PipelinePropertyInjectionNode : CustomInjectionNode - { - public sealed override void InjectTo(IEcsPipelineMember system, EcsPipeline obj) - { - system.Pipeline = obj; - } - } } \ No newline at end of file diff --git a/src/Injections/Graph/CustomInjectionNode.cs b/src/Injections/Graph/CustomInjectionNode.cs deleted file mode 100644 index ada193c..0000000 --- a/src/Injections/Graph/CustomInjectionNode.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; - -namespace DCFApixels.DragonECS -{ - public abstract class CustomInjectionNodeBase : InjectionNodeBase - { - protected CustomInjectionNodeBase(Type type) : base(type) { } - } - public abstract class CustomInjectionNode : CustomInjectionNodeBase - where TProcess : IEcsProcess - { - private EcsProcess _processProperty; - private EcsProcess> _process; - public CustomInjectionNode() : base(typeof(TType)) { } - public sealed override void Init(EcsPipeline pipeline) - { - _processProperty = pipeline.GetProcess(); - _process = pipeline.GetProcess>(); - OnInitialized(pipeline); - } - public sealed override void Inject(object obj) - { - TType target = (TType)obj; - for (int i = 0; i < _process.Length; i++) - { - _process[i].Inject(target); - } - for (int i = 0; i < _processProperty.Length; i++) - { - InjectTo(_processProperty[i], target); - } - } - public virtual void OnInitialized(EcsPipeline pipeline) { } - public abstract void InjectTo(TProcess system, TType obj); - } -} diff --git a/src/Injections/Graph/CustomInjectionNode.cs.meta b/src/Injections/Graph/CustomInjectionNode.cs.meta deleted file mode 100644 index ed2e647..0000000 --- a/src/Injections/Graph/CustomInjectionNode.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 44ecc06211a7d12428151f2898e7d453 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Injections/Injector.cs b/src/Injections/Injector.cs index e47a0c8..0d7029b 100644 --- a/src/Injections/Injector.cs +++ b/src/Injections/Injector.cs @@ -112,22 +112,6 @@ namespace DCFApixels.DragonECS } return true; } - private bool TryDeclareProperty(CustomInjectionNodeBase injectionProperty) - { - Type type = injectionProperty.Type; - if (_nodes.TryGetValue(type, out InjectionNodeBase oldNode)) - { - Throw.Exception("Already declared"); - } - InitNode(injectionProperty); -#if !REFLECTION_DISABLED - if (IsCanInstantiated(type)) -#endif - { - InitBranch(new InjectionBranch(this, type, true)); - } - return true; - } public class Builder { @@ -144,11 +128,6 @@ namespace DCFApixels.DragonECS _instance.TryDeclare(); return _source; } - public EcsPipeline.Builder AddCustomNode(CustomInjectionNodeBase injectionProperty) - { - _instance.TryDeclareProperty(injectionProperty); - return _source; - } public EcsPipeline.Builder Inject(T obj) { _initInjections.Add(new InitInject(obj));