UNPKG

duckengine

Version:
54 lines (53 loc) 1.59 kB
import { Duck } from '../..'; /** * @class PluginManager * @classdesc Creates a DuckEngine PluginManager * @description The PluginManager Class. Manages and handles plugins * @since 2.0.0 */ export default class PluginManager { /** * @memberof PluginManager * @description An object that holds all registered plugins * @type { [key: string]: Duck.Types.Game.Plugin; } * @since 2.0.0 */ plugins: { [key: string]: Duck.Types.Game.Plugin; }; /** * @constructor PluginManager * @description Creates a PluginManager instance * @since 2.0.0 */ constructor(); /** * @memberof PluginManager * @description Registers a plugin and adds a plugin by its name to the plugins object * @param {Duck.Types.Game.Plugin} plugin Plugin to add * @since 2.0.0 */ registerPlugin(plugin: Duck.Types.Game.Plugin): void; /** * @memberof PluginManager * @description Unregisters a plugin by its name * @param {string} name Name of plugin to remove * @since 2.0.0 */ unregisterPlugin(name: string): void; /** * @memberof PluginManager * @description Calls/Runs a plugin by its name * @param {string} name Name of plugin to call/run * @since 2.0.0 */ call(name: string): void; /** * @memberof PluginManager * @description Finds a plugin by its name * @param {string} name Name of plugin to find * @returns {Duck.Types.Game.Plugin} * @since 2.0.0 */ find(name: string): Duck.Types.Game.Plugin | undefined; }