1 line
2.9 KiB
Plaintext
1 line
2.9 KiB
Plaintext
{"version":3,"file":"HelloSystem.mjs","sources":["../../../../../src/rendering/renderers/shared/startup/HelloSystem.ts"],"sourcesContent":["import { ExtensionType } from '../../../../extensions/Extensions';\nimport { sayHello } from '../../../../utils/sayHello';\nimport { type Renderer, RendererType } from '../../types';\n\nimport type { WebGLRenderer } from '../../gl/WebGLRenderer';\nimport type { System } from '../system/System';\n\n/**\n * Options for the startup system.\n * @property {boolean} [hello=false] - Whether to log the version and type information of renderer to console.\n * @memberof rendering\n */\nexport interface HelloSystemOptions\n{\n /**\n * Whether to log the version and type information of renderer to console.\n * @memberof rendering.SharedRendererOptions\n * @default false\n */\n hello: boolean;\n}\n\n/**\n * A simple system responsible for initiating the renderer.\n * @memberof rendering\n */\nexport class HelloSystem implements System<HelloSystemOptions>\n{\n /** @ignore */\n public static extension = {\n type: [\n ExtensionType.WebGLSystem,\n ExtensionType.WebGPUSystem,\n ExtensionType.CanvasSystem,\n ],\n name: 'hello',\n priority: -2,\n } as const;\n\n /** The default options for the system. */\n public static defaultOptions: HelloSystemOptions = {\n /** {@link WebGLOptions.hello} */\n hello: false,\n };\n\n private readonly _renderer: Renderer;\n\n constructor(renderer: Renderer)\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 public init(options: HelloSystemOptions): void\n {\n if (options.hello)\n {\n let name = this._renderer.name;\n\n if (this._renderer.type === RendererType.WEBGL)\n {\n name += ` ${(this._renderer as WebGLRenderer).context.webGLVersion}`;\n }\n\n sayHello(name);\n }\n }\n}\n"],"names":[],"mappings":";;;;;AA0BO,MAAM,WACb,CAAA;AAAA,EAoBI,YAAY,QACZ,EAAA;AACI,IAAA,IAAA,CAAK,SAAY,GAAA,QAAA,CAAA;AAAA,GACrB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMO,KAAK,OACZ,EAAA;AACI,IAAA,IAAI,QAAQ,KACZ,EAAA;AACI,MAAI,IAAA,IAAA,GAAO,KAAK,SAAU,CAAA,IAAA,CAAA;AAE1B,MAAA,IAAI,IAAK,CAAA,SAAA,CAAU,IAAS,KAAA,YAAA,CAAa,KACzC,EAAA;AACI,QAAA,IAAA,IAAQ,CAAK,CAAA,EAAA,IAAA,CAAK,SAA4B,CAAA,OAAA,CAAQ,YAAY,CAAA,CAAA,CAAA;AAAA,OACtE;AAEA,MAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAAA,KACjB;AAAA,GACJ;AACJ,CAAA;AAAA;AA5Ca,WAAA,CAGK,SAAY,GAAA;AAAA,EACtB,IAAM,EAAA;AAAA,IACF,aAAc,CAAA,WAAA;AAAA,IACd,aAAc,CAAA,YAAA;AAAA,IACd,aAAc,CAAA,YAAA;AAAA,GAClB;AAAA,EACA,IAAM,EAAA,OAAA;AAAA,EACN,QAAU,EAAA,CAAA,CAAA;AACd,CAAA,CAAA;AAAA;AAXS,WAAA,CAcK,cAAqC,GAAA;AAAA;AAAA,EAE/C,KAAO,EAAA,KAAA;AACX,CAAA;;;;"} |