{"version":3,"file":"LayerFinder.mjs","sources":["../src/LayerFinder.ts"],"sourcesContent":["import { Texture } from '@pixi/core';\nimport { Group, Layer } from '@pixi/layers';\n\n/**\n * @memberof PIXI.lights\n * @static\n * @type {PIXI.layers.Group}\n */\nexport const diffuseGroup = new Group(0, false);\n\n/**\n * @memberof PIXI.lights\n * @static\n * @type {PIXI.layers.Group}\n */\nexport const normalGroup = new Group(0, false);\n\n/**\n * @memberof PIXI.lights\n * @static\n * @type {PIXI.layers.Group}\n */\nexport const lightGroup = new Group(0, false);\n\ndiffuseGroup.useRenderTexture = true;\nnormalGroup.useRenderTexture = true;\n\n/**\n * @memberof PIXI.lights\n */\nexport class LayerFinder\n{\n    /**\n     * Last layer\n     * @type {PIXI.layers.Layer}\n     */\n    lastLayer: Layer | null = null;\n    /**\n     * Diffuse texture\n     * @type {PIXI.Texture}\n     */\n    diffuseTexture: Texture | null = null;\n    /**\n     * Normal texture\n     * @type {PIXI.Texture}\n     */\n    normalTexture: Texture | null = null;\n\n    /**\n     * Check\n     * @param {PIXI.layers.Layer} layer -\n     */\n    check(layer: Layer): void\n    {\n        if (this.lastLayer === layer)\n        {\n            return;\n        }\n        this.lastLayer = layer;\n\n        const stage = layer._activeStageParent;\n        const layerAny = layer as any;\n\n        this.diffuseTexture = Texture.WHITE;\n        this.normalTexture = Texture.WHITE;\n\n        if (layerAny.diffuseTexture && layerAny.normalTexture)\n        {\n            this.diffuseTexture = layerAny.diffuseTexture;\n            this.normalTexture = layerAny.normalTexture;\n        }\n        else\n        {\n            for (let j = 0; j < stage._activeLayers.length; j++)\n            {\n                const texLayer = stage._activeLayers[j];\n\n                if (texLayer.group === normalGroup)\n                {\n                    this.normalTexture = texLayer.getRenderTexture();\n                }\n                if (texLayer.group === diffuseGroup)\n                {\n                    this.diffuseTexture = texLayer.getRenderTexture();\n                }\n            }\n        }\n    }\n\n    static _instance = new LayerFinder();\n}\n"],"names":[],"mappings":";;;AAQO,MAAM,YAAe,GAAA,IAAI,KAAM,CAAA,CAAA,EAAG,KAAK,EAAA;AAOvC,MAAM,WAAc,GAAA,IAAI,KAAM,CAAA,CAAA,EAAG,KAAK,EAAA;AAOtC,MAAM,UAAa,GAAA,IAAI,KAAM,CAAA,CAAA,EAAG,KAAK,EAAA;AAE5C,YAAA,CAAa,gBAAmB,GAAA,IAAA,CAAA;AAChC,WAAA,CAAY,gBAAmB,GAAA,IAAA,CAAA;AAKxB,MAAM,eAAN,MACP;AAAA,EADO,WAAA,GAAA;AAMH;AAAA;AAAA;AAAA;AAAA,IAA0B,IAAA,CAAA,SAAA,GAAA,IAAA,CAAA;AAK1B;AAAA;AAAA;AAAA;AAAA,IAAiC,IAAA,CAAA,cAAA,GAAA,IAAA,CAAA;AAKjC;AAAA;AAAA;AAAA;AAAA,IAAgC,IAAA,CAAA,aAAA,GAAA,IAAA,CAAA;AAAA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,MAAM,KACN,EAAA;AACI,IAAI,IAAA,IAAA,CAAK,cAAc,KACvB,EAAA;AACI,MAAA,OAAA;AAAA,KACJ;AACA,IAAA,IAAA,CAAK,SAAY,GAAA,KAAA,CAAA;AAEjB,IAAA,MAAM,QAAQ,KAAM,CAAA,kBAAA,CAAA;AACpB,IAAA,MAAM,QAAW,GAAA,KAAA,CAAA;AAEjB,IAAA,IAAA,CAAK,iBAAiB,OAAQ,CAAA,KAAA,CAAA;AAC9B,IAAA,IAAA,CAAK,gBAAgB,OAAQ,CAAA,KAAA,CAAA;AAE7B,IAAI,IAAA,QAAA,CAAS,cAAkB,IAAA,QAAA,CAAS,aACxC,EAAA;AACI,MAAA,IAAA,CAAK,iBAAiB,QAAS,CAAA,cAAA,CAAA;AAC/B,MAAA,IAAA,CAAK,gBAAgB,QAAS,CAAA,aAAA,CAAA;AAAA,KAGlC,MAAA;AACI,MAAA,KAAA,IAAS,IAAI,CAAG,EAAA,CAAA,GAAI,KAAM,CAAA,aAAA,CAAc,QAAQ,CAChD,EAAA,EAAA;AACI,QAAM,MAAA,QAAA,GAAW,KAAM,CAAA,aAAA,CAAc,CAAC,CAAA,CAAA;AAEtC,QAAI,IAAA,QAAA,CAAS,UAAU,WACvB,EAAA;AACI,UAAK,IAAA,CAAA,aAAA,GAAgB,SAAS,gBAAiB,EAAA,CAAA;AAAA,SACnD;AACA,QAAI,IAAA,QAAA,CAAS,UAAU,YACvB,EAAA;AACI,UAAK,IAAA,CAAA,cAAA,GAAiB,SAAS,gBAAiB,EAAA,CAAA;AAAA,SACpD;AAAA,OACJ;AAAA,KACJ;AAAA,GACJ;AAGJ,CAAA,CAAA;AA5DO,IAAM,WAAN,GAAA,aAAA;AAAM,WA2DF,CAAA,SAAA,GAAY,IAAI,YAAY,EAAA;;;;"}