diff --git a/VContainer/Assets/VContainer/Runtime/Unity/LifetimeScope.cs b/VContainer/Assets/VContainer/Runtime/Unity/LifetimeScope.cs index 88c7a82d..3d6d9676 100644 --- a/VContainer/Assets/VContainer/Runtime/Unity/LifetimeScope.cs +++ b/VContainer/Assets/VContainer/Runtime/Unity/LifetimeScope.cs @@ -202,7 +202,6 @@ public void Build() // ReSharper disable once PossibleNullReferenceException Parent.Container.CreateScope(builder => { - builder.RegisterBuildCallback(SetContainer); builder.ApplicationOrigin = this; builder.Diagnostics = VContainerSettings.DiagnosticsEnabled ? DiagnositcsContext.GetCollector(scopeName) : null; InstallTo(builder); @@ -215,7 +214,6 @@ public void Build() ApplicationOrigin = this, Diagnostics = VContainerSettings.DiagnosticsEnabled ? DiagnositcsContext.GetCollector(scopeName) : null, }; - builder.RegisterBuildCallback(SetContainer); InstallTo(builder); builder.Build(); } @@ -226,7 +224,6 @@ public void Build() void SetContainer(IObjectResolver container) { Container = container; - AutoInjectAll(); } public TScope CreateChild(IInstaller installer = null, string childScopeName = null) @@ -287,8 +284,8 @@ public TScope CreateChildFromPrefab(TScope prefab, Action(this).AsSelf(); + builder.RegisterBuildCallback(AutoInjectAll); EntryPointsBuilder.EnsureDispatcherRegistered(builder); } @@ -356,7 +354,7 @@ LifetimeScope GetRuntimeParent() return null; } - void AutoInjectAll() + void AutoInjectAll(IObjectResolver container) { if (autoInjectGameObjects == null) return;