public void AddPreBindings(DiContainer container) { // Make our scene graph a child of the new CompositionRoot so any monobehaviour's that are // built into the scene get injected transform.parent = container.Resolve <CompositionRoot>().transform; CompositionRootHelper.InstallSceneInstallers(container, PreInstallers); ProcessDecoratorInstallers(container, true); }
public void AddPostBindings(DiContainer container) { CompositionRootHelper.InstallSceneInstallers(container, PostInstallers); ProcessDecoratorInstallers(container, false); if (_afterInstallHooks != null) { _afterInstallHooks(container); _afterInstallHooks = null; } }
public void AddPreBindings(DiContainer container) { if (_beforeInstallHooks != null) { _beforeInstallHooks(container); _beforeInstallHooks = null; } CompositionRootHelper.InstallSceneInstallers(container, PreInstallers); ProcessDecoratorInstallers(container, true); }
public static DiContainer CreateContainer(bool allowNullBindings, GameObject gameObj) { Assert.That(allowNullBindings || gameObj != null); var container = new DiContainer(); container.AllowNullBindings = allowNullBindings; CompositionRootHelper.InstallStandardInstaller(container, gameObj); CompositionRootHelper.InstallSceneInstallers(container, GetGlobalInstallers()); return(container); }
public static DiContainer CreateContainer(bool allowNullBindings, GlobalCompositionRoot root) { Assert.That(allowNullBindings || root != null); var container = new DiContainer(root == null ? null : root.transform); container.AllowNullBindings = allowNullBindings; container.Bind <GlobalCompositionRoot>().ToInstance(root); container.Bind <CompositionRoot>().ToInstance(root); container.Install <StandardUnityInstaller>(); CompositionRootHelper.InstallSceneInstallers(container, GetGlobalInstallers()); return(container); }
public DiContainer CreateContainer( bool allowNullBindings, DiContainer parentContainer, List <IInstaller> extraInstallers) { var container = new DiContainer(this.transform); container.AllowNullBindings = allowNullBindings; container.FallbackProvider = new DiContainerProvider(parentContainer); container.Bind <SceneCompositionRoot>().ToInstance(this); container.Bind <CompositionRoot>().ToInstance(this); if (BeforeInstallHooks != null) { BeforeInstallHooks(container); // Reset extra bindings for next time we change scenes BeforeInstallHooks = null; } container.Install <StandardUnityInstaller>(); var allInstallers = extraInstallers.Concat(Installers).ToList(); if (allInstallers.Where(x => x != null).IsEmpty()) { Log.Warn("No installers found while initializing SceneCompositionRoot"); } else { CompositionRootHelper.InstallSceneInstallers(container, allInstallers); } if (AfterInstallHooks != null) { AfterInstallHooks(container); // Reset extra bindings for next time we change scenes AfterInstallHooks = null; } return(container); }
public void AddPostBindings(DiContainer container) { CompositionRootHelper.InstallSceneInstallers(container, PostInstallers); ProcessDecoratorInstallers(container, false); }