duckengine
Version:
A 2D Game Engine for the web.
54 lines (53 loc) • 1.59 kB
TypeScript
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;
}