Пример #1
0
        public async Task LoadPlugin(Plugin plugin)
        {
            if (plugin.PluginType == PluginType.Driver)
            {
                var factories = PluginLoader.LoadSingle(_logger, plugin, _config);

                foreach (var factory in await factories)
                {
                    await _driverLoader.Load(factory, ServerInfo.BoardType);
                }
            }
            else if (plugin.PluginType == PluginType.Logic)
            {
                var factories = RuleLoader.LoadSingle(_logger, plugin, _config);

                foreach (var factory in await factories)
                {
                    await _logicLoader.Load(factory, ServerInfo.BoardType);
                }
            }

            _nodeTemplateCache.Clear();
        }