AdvancedLauncher.Tools.Container.DependencyModule.Load C# (CSharp) Method

Load() public method

public Load ( ) : void
return void
        public override void Load()
        {
            Kernel.Components.Add<IActivationStrategy, ActivationStrategy>();
            // Singletone services
            Bind<IEnvironmentManager>().To<EnvironmentManager>().InSingletonScope().OnActivation(m => m.Initialize());
            Bind<IWindowManager>().To<WindowManager>().InSingletonScope().OnActivation(m => m.Initialize());
            Bind<IProfileManager>().To<ProfileManager>().InSingletonScope().OnActivation(m => m.Initialize());
            Bind<IDialogManager>().To<DialogManager>().InSingletonScope().OnActivation(m => m.Initialize());
            Bind<ILanguageManager>().To<LanguageManager>().InSingletonScope().OnActivation(m => m.Initialize());
            Bind<ILogManager>().To<LogManager>().InSingletonScope().OnActivation(m => m.Initialize());
            Bind<ITaskManager>().To<TaskManager>().InSingletonScope().OnActivation(m => m.Initialize());
            Bind<IDatabaseManager>().To<DatabaseManager>().InSingletonScope().OnActivation(m => m.Initialize());
            Bind<IFileSystemManager>().To<FileSystemManager>().OnActivation(m => m.Initialize(App.Kernel.Get<ILogManager>()));

            // Launchers
            Bind<LauncherManager>().ToSelf().InSingletonScope().OnActivation(m => m.Initialize());
            Kernel.Bind(e => {
                e.FromThisAssembly()
                .SelectAllClasses()
                .InheritedFrom<ILauncher>()
                .BindAllInterfaces()
                .Configure(c => c.InSingletonScope());
            });

            // Commands
            Bind<ICommandManager>().To<CommandManager>().InSingletonScope().OnActivation(m => m.Initialize());
            Kernel.Bind(e => {
                e.FromThisAssembly()
                .SelectAllClasses()
                .InNamespaceOf<EchoCommand>()
                .InheritedFrom<ICommand>()
                .BindAllInterfaces()
                .Configure(c => c.InSingletonScope());
            });

            // Game Configurations
            Bind<IConfigurationManager>().To<ConfigurationManager>().InSingletonScope().OnActivation(m => m.Initialize());
            Kernel.Bind(e => {
                e.FromThisAssembly()
                .SelectAllClasses()
                .InheritedFrom<IConfiguration>()
                .BindAllInterfaces()
                .Configure(c => c.InSingletonScope());
            });

            // Components
            Bind<MainWindow>().ToSelf().InSingletonScope(); // be careful with injecting this on initialization of MainWindow itself (UserControls, etc)
            Bind<WebWindow>().ToSelf();
            Bind<Logger>().ToSelf().InSingletonScope();
            Bind<About>().ToSelf().InSingletonScope();
            Bind<Settings>().ToSelf().InSingletonScope();
            Bind<Splashscreen>().ToSelf().InSingletonScope();

            Bind<LoginManager>().ToSelf().InSingletonScope();
            Bind<ProxyManager>().ToSelf().InSingletonScope();
            Bind<IconHolder>().ToSelf().InSingletonScope();
            Bind<MergeHelper>().ToSelf();
            Bind<UpdateManager>().ToSelf();

            // Plugin System
            Bind<PluginManager>().To<PluginManager>().InSingletonScope();
            Bind<IPluginHost>().To<PluginHost>().InSingletonScope().OnActivation(m => m.Initialize());
        }
DependencyModule