Deukhoofd fdfca99e71
All checks were successful
continuous-integration/drone/push Build is passing
Document all undocumented methods and properties
2025-05-16 13:59:36 +02:00

65 lines
1.9 KiB
C#

using PkmnLib.Static.Libraries;
namespace PkmnLib.Dynamic.ScriptHandling.Registry;
/// <summary>
/// Interface for plugins that provide resources.
/// </summary>
public interface IResourceProvider
{
/// <summary>
/// The settings for the library. This is used to configure the library and its resources.
/// </summary>
LibrarySettings? Settings { get; }
/// <summary>
/// Gets the resource for the given type. This is used to load resources from the plugin.
/// </summary>
Stream? GetResource(ResourceFileType request);
}
/// <summary>
/// Enum for the different types of resources that can be loaded.
/// </summary>
public enum ResourceFileType
{
/// <summary>
/// Unknown type. This is used for errors and should not be used in normal code.
/// </summary>
Unknown,
/// <summary>
/// The type for the types of Pokémon. This includes the type effectiveness chart and the type names.
/// </summary>
Types,
/// <summary>
/// The type for the natures of Pokémon. This includes the nature names and the nature effects.
/// </summary>
Natures,
/// <summary>
/// The type for the moves of Pokémon. This includes the move names and the move effects.
/// </summary>
Moves,
/// <summary>
/// The type for the items of Pokémon. This includes the item names and the item effects.
/// </summary>
Items,
/// <summary>
/// The type for the abilities of Pokémon. This includes the ability names and the ability effects.
/// </summary>
Abilities,
/// <summary>
/// The type for the growth rates of Pokémon. This includes the growth rate names and the growth rate effects.
/// </summary>
GrowthRates,
/// <summary>
/// The type for the species of Pokémon. This includes the species names and the species effects.
/// </summary>
Species,
}