{"version":3,"file":"ThreeLightAmbient.mjs","sources":["../../../../packages/ThreeLightAmbient/ThreeLightAmbient.ts"],"sourcesContent":["import {AmbientLight, Color} from 'three';\r\nimport type CustomThreeLayer from '../ThreeLayer/CustomThreeLayer'\r\n\r\ninterface Options {\r\n  color: string // 颜色的rgb数值。缺省值为 0xffffff。\r\n  intensity: number  // 光照的强度。缺省值为 1。\r\n}\r\n\r\nclass ThreeLightAmbient {\r\n  object: AmbientLight | null // Light\r\n  layer: CustomThreeLayer | null // threejs的图层对象\r\n\r\n  constructor(layer: CustomThreeLayer, options: Options) {\r\n    this.layer = layer;\r\n    const light = new AmbientLight(this.getColorHex(options.color), options.intensity);\r\n    this.object = light;\r\n    layer.add(light);\r\n  }\r\n\r\n  setColor(color: string) {\r\n    this.object!.color = new Color(color);\r\n    this.refresh();\r\n  }\r\n\r\n  getColorHex(color: string){\r\n    return new Color(color).getHex();\r\n  }\r\n\r\n  setIntensity(intensity: number) {\r\n    this.object!.intensity = intensity;\r\n    this.refresh();\r\n  }\r\n\r\n  refresh() {\r\n    this.layer?.update();\r\n  }\r\n\r\n  remove(){\r\n    if (this.object) {\r\n      this.layer?.remove(this.object)\r\n    }\r\n  }\r\n\r\n  destroy() {\r\n    if (this.object) {\r\n      this.object = null;\r\n      this.layer = null;\r\n    }\r\n  }\r\n}\r\n\r\nexport default ThreeLightAmbient\r\n"],"names":[],"mappings":";;;;;;;;AAQA,MAAM,iBAAkB,CAAA;AAAA;AAAA,EAItB,WAAA,CAAY,OAAyB,OAAkB,EAAA;AAHvD,IAAA,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA;AACA;AAAA,IAAA,aAAA,CAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AAGE,IAAA,IAAA,CAAK,KAAQ,GAAA,KAAA,CAAA;AACb,IAAM,MAAA,KAAA,GAAQ,IAAI,YAAa,CAAA,IAAA,CAAK,YAAY,OAAQ,CAAA,KAAK,CAAG,EAAA,OAAA,CAAQ,SAAS,CAAA,CAAA;AACjF,IAAA,IAAA,CAAK,MAAS,GAAA,KAAA,CAAA;AACd,IAAA,KAAA,CAAM,IAAI,KAAK,CAAA,CAAA;AAAA,GACjB;AAAA,EAEA,SAAS,KAAe,EAAA;AACtB,IAAA,IAAA,CAAK,MAAQ,CAAA,KAAA,GAAQ,IAAI,KAAA,CAAM,KAAK,CAAA,CAAA;AACpC,IAAA,IAAA,CAAK,OAAQ,EAAA,CAAA;AAAA,GACf;AAAA,EAEA,YAAY,KAAc,EAAA;AACxB,IAAA,OAAO,IAAI,KAAA,CAAM,KAAK,CAAA,CAAE,MAAO,EAAA,CAAA;AAAA,GACjC;AAAA,EAEA,aAAa,SAAmB,EAAA;AAC9B,IAAA,IAAA,CAAK,OAAQ,SAAY,GAAA,SAAA,CAAA;AACzB,IAAA,IAAA,CAAK,OAAQ,EAAA,CAAA;AAAA,GACf;AAAA,EAEA,OAAU,GAAA;AAjCZ,IAAA,IAAA,EAAA,CAAA;AAkCI,IAAA,CAAA,EAAA,GAAA,IAAA,CAAK,UAAL,IAAY,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA,CAAA;AAAA,GACd;AAAA,EAEA,MAAQ,GAAA;AArCV,IAAA,IAAA,EAAA,CAAA;AAsCI,IAAA,IAAI,KAAK,MAAQ,EAAA;AACf,MAAK,CAAA,EAAA,GAAA,IAAA,CAAA,KAAA,KAAL,IAAY,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAO,IAAK,CAAA,MAAA,CAAA,CAAA;AAAA,KAC1B;AAAA,GACF;AAAA,EAEA,OAAU,GAAA;AACR,IAAA,IAAI,KAAK,MAAQ,EAAA;AACf,MAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAA;AACd,MAAA,IAAA,CAAK,KAAQ,GAAA,IAAA,CAAA;AAAA,KACf;AAAA,GACF;AACF;;;;"}