public PluginsComponent(GUIController guiController, AGSEditor agsEditor, AGSEditorController pluginEditorController) : base(guiController, agsEditor) { _pluginEditorController = pluginEditorController; foreach (string fullFileName in Utilities.GetDirectoryFileList(_agsEditor.EditorDirectory, PLUGIN_SEARCH_MASK)) { string fileName = Path.GetFileName(fullFileName).ToLower(); // Don't process our editor .net dlls if (!fileName.StartsWith("ags.")) { LoadRuntimePluginIntoMemory(fileName); } else if (fileName.StartsWith("ags.plugin.")) { LoadEditorPluginIntoMemory(fileName); } } _guiController.RegisterIcon("PluginIcon", Resources.ResourceManager.GetIcon("plugin.ico")); _guiController.RegisterIcon("PluginDisabledIcon", Resources.ResourceManager.GetIcon("pluginDisabled.ico")); _guiController.ProjectTree.AddTreeRoot(this, TOP_LEVEL_COMMAND_ID, "Plugins", "PluginIcon"); RepopulateTreeView(); _agsEditor.GetScriptHeaderList += new GetScriptHeaderListHandler(AGSEditor_GetScriptHeaderList); _agsEditor.Tasks.GetFilesForInclusionInTemplate += new Tasks.GetFilesForInclusionInTemplateHandler(AGSEditor_GetFilesForInclusionInTemplate); _agsEditor.Tasks.NewGameFilesExtracted += new Tasks.NewGameFilesExtractedHandler(AGSEditor_NewGameFilesExtracted); Factory.Events.GetAboutDialogText += new EditorEvents.GetAboutDialogTextHandler(Events_GetAboutDialogText); }