/**
* Derive this class to create user-defined plugins
*
* @public
*/
export class Plugin {
/** @param {Viewport} parent */
constructor(parent) {
this.parent = parent;
this.paused = false;
}
/** Called when plugin is removed */
destroy() {
// Override for implementation
}
/** Handler for pointerdown PIXI event */
down(_e) {
return false;
}
/** Handler for pointermove PIXI event */
move(_e) {
return false;
}
/** Handler for pointerup PIXI event */
up(_e) {
return false;
}
/** Handler for wheel event on div */
wheel(_e) {
return false;
}
/**
* Called on each tick
* @param {number} elapsed time in millisecond since last update
*/
update(_delta) {
// Override for implementation
}
/** Called when the viewport is resized */
resize() {
// Override for implementation
}
/** Called when the viewport is manually moved */
reset() {
// Override for implementation
}
/** Pause the plugin */
pause() {
this.paused = true;
}
/** Un-pause the plugin */
resume() {
this.paused = false;
}
}