{"version":3,"file":"StartupSystem.mjs","sources":["../../src/startup/StartupSystem.ts"],"sourcesContent":["import { extensions, ExtensionType } from 'pixijs/extensions';\n\nimport type { ExtensionMetadata } from 'pixijs/extensions';\nimport type { BackgroundOptions } from '../background/BackgroundSystem';\nimport type { IRenderer } from '../IRenderer';\nimport type { IRendererPlugins } from '../plugin/PluginSystem';\nimport type { ISystem } from '../system/ISystem';\nimport type { ContextOptions } from '../systems';\nimport type { ViewOptions } from '../view/ViewSystem';\n\n// TODO this can be infered by good use of generics in the future..\nexport interface StartupOptions extends Record<string, unknown>\n{\n    hello: boolean;\n    _plugin: IRendererPlugins,\n    background: BackgroundOptions,\n    _view: ViewOptions,\n    context?: ContextOptions\n}\n\n/**\n * A simple system responsible for initiating the renderer.\n * @memberof PIXI\n */export class StartupSystem implements ISystem\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: StartupOptions): void\n    {\n        const renderer = this.renderer;\n\n        renderer.emitWithCustomOptions(renderer.runners.init, 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(this.renderer.screen.width, this.renderer.screen.height);\n    }\n\n    destroy(): void\n    {\n        // ka pow!\n    }\n}\n\nextensions.add(StartupSystem);\n"],"names":[],"mappings":";;AAuBU,MAAM,aAChB,CAAA;AAAA,EAYI,YAAY,QACZ,EAAA;AACI,IAAA,IAAA,CAAK,QAAW,GAAA,QAAA,CAAA;AAAA,GACpB;AAAA,EAMA,IAAI,OACJ,EAAA;AACI,IAAA,MAAM,WAAW,IAAK,CAAA,QAAA,CAAA;AAEtB,IAAA,QAAA,CAAS,qBAAsB,CAAA,QAAA,CAAS,OAAQ,CAAA,IAAA,EAAM,OAAO,CAAA,CAAA;AAE7D,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,IAAS,QAAA,CAAA,MAAA,CAAO,KAAK,QAAS,CAAA,MAAA,CAAO,OAAO,IAAK,CAAA,QAAA,CAAS,OAAO,MAAM,CAAA,CAAA;AAAA,GAC3E;AAAA,EAEA,OACA,GAAA;AAAA,GAEA;AACJ,CAAA;AAzCgB,cAGL,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;;;;"}