namespace PKHeX.Core; /// /// Plugin interface used by an editor to notify third-party code providers. /// public interface IPlugin { /// /// Plugin Name. /// string Name { get; } /// /// Plugin Loading Priority (lowest is initialized first). /// int Priority { get; } /// /// Entry point for the parent to initialize the plugin with provided arguments. /// /// Arguments containing objects useful for initializing the plugin. void Initialize(params object[] args); /// /// Notifies the plugin that a save file was just loaded. /// void NotifySaveLoaded(); /// /// Notifies the plugin that the display language has changed. /// /// Short code for language name /// Useful to translate controls if any added. void NotifyDisplayLanguageChanged(string language) { } /// /// Attempts to load a file using the plugin. /// /// Path to file to be loaded. /// True if the plugin has handled the file. bool TryLoadFile(string filePath); /// /// Retrieves the object which can provide a . /// ISaveFileProvider SaveFileEditor { get; } }