PKHeX/PKHeX.Core/Editing/IPlugin.cs
Kurt fc754b346b
File scoped namespaces (#3529)
[Language Reference](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-10.0/file-scoped-namespaces)

Updates all the files, one less level of indentation.

Some small changes were made to API surfaces, renaming `PKM pkm` -> `PKM pk`, and `LegalityAnalysis.pkm` -> `LegalityAnalysis.Entity`
2022-06-18 11:04:24 -07:00

40 lines
1.2 KiB
C#

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