Source: js/plugins/Plugin.js

js/plugins/Plugin.js

/**
 * 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;
    }
}