{"version":3,"file":"StartupSystem.mjs","sources":["../../src/startup/StartupSystem.ts"],"sourcesContent":["import { extensions, ExtensionType } from '@pixi/extensions';\n\nimport type { ExtensionMetadata } from '@pixi/extensions';\nimport type { IRenderer } from '../IRenderer';\nimport type { ISystem } from '../system/ISystem';\n\nexport interface StartupSystemOptions\n{\n    /**\n     * Whether to log the version and type information of renderer to console.\n     * @memberof PIXI.IRendererOptions\n     */\n    hello: boolean;\n}\n\n/**\n * A simple system responsible for initiating the renderer.\n * @memberof PIXI\n */\nexport class StartupSystem implements ISystem<StartupSystemOptions>\n{\n    /** @ignore */\n    static defaultOptions: StartupSystemOptions = {\n        /**\n         * {@link PIXI.IRendererOptions.hello}\n         * @default false\n         * @memberof PIXI.settings.RENDER_OPTIONS\n         */\n        hello: false,\n    };\n\n    /** @ignore */\n    static extension: ExtensionMetadata = {\n        type: [\n            ExtensionType.RendererSystem,\n            ExtensionType.CanvasRendererSystem\n        ],\n        name: 'startup',\n    };\n\n    readonly renderer: IRenderer;\n\n    constructor(renderer: IRenderer)\n    {\n        this.renderer = renderer;\n    }\n\n    /**\n     * It all starts here! This initiates every system, passing in the options for any system by name.\n     * @param options - the config for the renderer and all its systems\n     */\n    run(options: StartupSystemOptions): void\n    {\n        const { renderer } = this;\n\n        renderer.runners.init.emit(renderer.options);\n\n        if (options.hello)\n        {\n            // eslint-disable-next-line no-console\n            console.log(`PixiJS ${'$_VERSION'} - ${renderer.rendererLogId} - https://pixijs.com`);\n        }\n\n        renderer.resize(renderer.screen.width, renderer.screen.height);\n    }\n\n    destroy(): void\n    {\n        // ka pow!\n    }\n}\n\nextensions.add(StartupSystem);\n"],"names":[],"mappings":";;AAmBO,MAAM,aACb,CAAA;AAAA,EAsBI,YAAY,QACZ,EAAA;AACI,IAAA,IAAA,CAAK,QAAW,GAAA,QAAA,CAAA;AAAA,GACpB;AAAA,EAMA,IAAI,OACJ,EAAA;AACI,IAAA,MAAM,EAAE,QAAa,EAAA,GAAA,IAAA,CAAA;AAErB,IAAA,QAAA,CAAS,OAAQ,CAAA,IAAA,CAAK,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AAE3C,IAAA,IAAI,QAAQ,KACZ,EAAA;AAEI,MAAA,OAAA,CAAQ,GAAI,CAAA,CAAA,OAAA,EAAU,OAAiB,CAAA,GAAA,EAAA,QAAA,CAAS,aAAoC,CAAA,qBAAA,CAAA,CAAA,CAAA;AAAA,KACxF;AAEA,IAAA,QAAA,CAAS,OAAO,QAAS,CAAA,MAAA,CAAO,KAAO,EAAA,QAAA,CAAS,OAAO,MAAM,CAAA,CAAA;AAAA,GACjE;AAAA,EAEA,OACA,GAAA;AAAA,GAEA;AACJ,CAAA;AAnDa,cAGF,cAAuC,GAAA;AAAA,EAM1C,KAAO,EAAA,KAAA;AACX,CAAA,CAAA;AAVS,cAaF,SAA+B,GAAA;AAAA,EAClC,IAAM,EAAA;AAAA,IACF,aAAc,CAAA,cAAA;AAAA,IACd,aAAc,CAAA,oBAAA;AAAA,GAClB;AAAA,EACA,IAAM,EAAA,SAAA;AACV,CAAA,CAAA;AAkCJ,UAAA,CAAW,IAAI,aAAa,CAAA;;;;"}