Exemplo n.º 1
0
        protected void LoadPlugins()
        {
            (RunnerDomain, Runner) = PluginHost.Create(SMA.Instance.Collection);
            Runner.Setup();

            Runner.Export <ISuperMemoAssistant>(SMA.Instance);
            Runner.Export <ISuperMemoUI>(SMA.Instance.UI);
            Runner.Export <ISuperMemoRegistry>(SMA.Instance.Registry);

            //Runner.Export<IKeyboardHotKeyMgr>(KeyboardHotKey.Instance);

            Runner.Export <IElementRegistry>(ElementRegistry.Instance);
            Runner.Export <IComponentRegistry>(ComponentRegistry.Instance);
            Runner.Export <ITextRegistry>(TextRegistry.Instance);
            Runner.Export <IBinaryRegistry>(BinaryRegistry.Instance);
            Runner.Export <IConceptRegistry>(ConceptRegistry.Instance);
            Runner.Export <IImageRegistry>(ImageRegistry.Instance);
            Runner.Export <ITemplateRegistry>(TemplateRegistry.Instance);
            Runner.Export <ISoundRegistry>(SoundRegistry.Instance);
            Runner.Export <IVideoRegistry>(VideoRegistry.Instance);

            Runner.Export <IElementWdw>(ElementWdw.Instance);

            Runner.PostSetup();

            foreach (var plugin in Runner.Plugins)
            {
                System.Diagnostics.Debug.WriteLine($"[PluginMgr] Loaded plugin {plugin.Name} ({plugin.Version})");
            }
        }