gdcore-tools 2.0.0-beta5 → 2.0.0-beta7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/dist/Runtime/Cordova/config.xml +4 -0
  2. package/dist/Runtime/Cordova/package.json +12 -20
  3. package/dist/Runtime/CustomRuntimeObject.js +1 -1
  4. package/dist/Runtime/CustomRuntimeObject.js.map +2 -2
  5. package/dist/Runtime/CustomRuntimeObjectInstanceContainer.js +1 -1
  6. package/dist/Runtime/CustomRuntimeObjectInstanceContainer.js.map +2 -2
  7. package/dist/Runtime/Extensions/3D/A_RuntimeObject3D.js +1 -1
  8. package/dist/Runtime/Extensions/3D/A_RuntimeObject3D.js.map +2 -2
  9. package/dist/Runtime/Extensions/3D/AmbientLight.js +1 -1
  10. package/dist/Runtime/Extensions/3D/AmbientLight.js.map +2 -2
  11. package/dist/Runtime/Extensions/3D/CustomRuntimeObject3D.js +1 -1
  12. package/dist/Runtime/Extensions/3D/CustomRuntimeObject3D.js.map +2 -2
  13. package/dist/Runtime/Extensions/3D/DirectionalLight.js +1 -1
  14. package/dist/Runtime/Extensions/3D/DirectionalLight.js.map +2 -2
  15. package/dist/Runtime/Extensions/3D/ExponentialFog.js +1 -1
  16. package/dist/Runtime/Extensions/3D/ExponentialFog.js.map +2 -2
  17. package/dist/Runtime/Extensions/3D/HemisphereLight.js +1 -1
  18. package/dist/Runtime/Extensions/3D/HemisphereLight.js.map +2 -2
  19. package/dist/Runtime/Extensions/3D/JsExtension.js +419 -228
  20. package/dist/Runtime/Extensions/3D/LinearFog.js +1 -1
  21. package/dist/Runtime/Extensions/3D/LinearFog.js.map +2 -2
  22. package/dist/Runtime/Extensions/3D/Model3DRuntimeObject.js +1 -1
  23. package/dist/Runtime/Extensions/3D/Model3DRuntimeObject.js.map +2 -2
  24. package/dist/Runtime/Extensions/AdMob/admobtools.js +1 -1
  25. package/dist/Runtime/Extensions/AdMob/admobtools.js.map +2 -2
  26. package/dist/Runtime/Extensions/AdvancedWindow/electron-advancedwindowtools.js +1 -1
  27. package/dist/Runtime/Extensions/AdvancedWindow/electron-advancedwindowtools.js.map +2 -2
  28. package/dist/Runtime/Extensions/AnchorBehavior/anchorruntimebehavior.js +1 -1
  29. package/dist/Runtime/Extensions/AnchorBehavior/anchorruntimebehavior.js.map +2 -2
  30. package/dist/Runtime/Extensions/BBText/JsExtension.js +45 -42
  31. package/dist/Runtime/Extensions/BBText/bbtextruntimeobject.js +1 -1
  32. package/dist/Runtime/Extensions/BBText/bbtextruntimeobject.js.map +2 -2
  33. package/dist/Runtime/Extensions/BitmapText/JsExtension.js +40 -49
  34. package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject.js +1 -1
  35. package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject.js.map +2 -2
  36. package/dist/Runtime/Extensions/Effects/JsExtension.js +2 -2
  37. package/dist/Runtime/Extensions/Effects/bevel-pixi-filter.js +1 -1
  38. package/dist/Runtime/Extensions/Effects/bevel-pixi-filter.js.map +2 -2
  39. package/dist/Runtime/Extensions/Effects/color-replace-pixi-filter.js +1 -1
  40. package/dist/Runtime/Extensions/Effects/color-replace-pixi-filter.js.map +2 -2
  41. package/dist/Runtime/Extensions/Effects/drop-shadow-pixi-filter.js +1 -1
  42. package/dist/Runtime/Extensions/Effects/drop-shadow-pixi-filter.js.map +2 -2
  43. package/dist/Runtime/Extensions/Effects/glow-pixi-filter.js +1 -1
  44. package/dist/Runtime/Extensions/Effects/glow-pixi-filter.js.map +2 -2
  45. package/dist/Runtime/Extensions/Effects/outline-pixi-filter.js +1 -1
  46. package/dist/Runtime/Extensions/Effects/outline-pixi-filter.js.map +2 -2
  47. package/dist/Runtime/Extensions/ExampleJsExtension/JsExtension.js +18 -21
  48. package/dist/Runtime/Extensions/Firebase/B_firebasetools/C_firebasetools.js +1 -1
  49. package/dist/Runtime/Extensions/Firebase/B_firebasetools/C_firebasetools.js.map +2 -2
  50. package/dist/Runtime/Extensions/JsExtensionTypes.d.ts +8 -2
  51. package/dist/Runtime/Extensions/Leaderboards/leaderboardstools.js +1 -1
  52. package/dist/Runtime/Extensions/Leaderboards/leaderboardstools.js.map +2 -2
  53. package/dist/Runtime/Extensions/Lighting/JsExtension.js +50 -38
  54. package/dist/Runtime/Extensions/Lighting/lightruntimeobject-pixi-renderer.js +1 -1
  55. package/dist/Runtime/Extensions/Lighting/lightruntimeobject-pixi-renderer.js.map +2 -2
  56. package/dist/Runtime/Extensions/Multiplayer/JsExtension.js +112 -7
  57. package/dist/Runtime/Extensions/Multiplayer/messageManager.js +1 -1
  58. package/dist/Runtime/Extensions/Multiplayer/messageManager.js.map +2 -2
  59. package/dist/Runtime/Extensions/Multiplayer/multiplayercomponents.js +1 -1
  60. package/dist/Runtime/Extensions/Multiplayer/multiplayercomponents.js.map +2 -2
  61. package/dist/Runtime/Extensions/Multiplayer/multiplayerobjectruntimebehavior.js +1 -1
  62. package/dist/Runtime/Extensions/Multiplayer/multiplayerobjectruntimebehavior.js.map +2 -2
  63. package/dist/Runtime/Extensions/Multiplayer/multiplayertools.js +1 -1
  64. package/dist/Runtime/Extensions/Multiplayer/multiplayertools.js.map +2 -2
  65. package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js +1 -1
  66. package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js.map +2 -2
  67. package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject.js +1 -1
  68. package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject.js.map +2 -2
  69. package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js +1 -1
  70. package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js.map +2 -2
  71. package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject.js +1 -1
  72. package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject.js.map +2 -2
  73. package/dist/Runtime/Extensions/Physics2Behavior/JsExtension.js +127 -40
  74. package/dist/Runtime/Extensions/Physics2Behavior/physics2runtimebehavior.js +1 -1
  75. package/dist/Runtime/Extensions/Physics2Behavior/physics2runtimebehavior.js.map +2 -2
  76. package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationtools.js +1 -1
  77. package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationtools.js.map +2 -2
  78. package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js +1 -1
  79. package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js.map +2 -2
  80. package/dist/Runtime/Extensions/Spine/JsExtension.js +77 -36
  81. package/dist/Runtime/Extensions/Spine/spineruntimeobject-pixi-renderer.js +1 -1
  82. package/dist/Runtime/Extensions/Spine/spineruntimeobject-pixi-renderer.js.map +2 -2
  83. package/dist/Runtime/Extensions/Spine/spineruntimeobject.js +1 -1
  84. package/dist/Runtime/Extensions/Spine/spineruntimeobject.js.map +2 -2
  85. package/dist/Runtime/Extensions/TextInput/JsExtension.js +55 -56
  86. package/dist/Runtime/Extensions/TextInput/textinputruntimeobject-pixi-renderer.js +1 -1
  87. package/dist/Runtime/Extensions/TextInput/textinputruntimeobject-pixi-renderer.js.map +2 -2
  88. package/dist/Runtime/Extensions/TextInput/textinputruntimeobject.js +1 -1
  89. package/dist/Runtime/Extensions/TextInput/textinputruntimeobject.js.map +2 -2
  90. package/dist/Runtime/Extensions/TextObject/textruntimeobject-pixi-renderer.js +1 -1
  91. package/dist/Runtime/Extensions/TextObject/textruntimeobject-pixi-renderer.js.map +2 -2
  92. package/dist/Runtime/Extensions/TextObject/textruntimeobject.js +1 -1
  93. package/dist/Runtime/Extensions/TextObject/textruntimeobject.js.map +2 -2
  94. package/dist/Runtime/Extensions/TileMap/JsExtension.js +511 -287
  95. package/dist/Runtime/Extensions/TileMap/TileMapRuntimeManager.js +1 -1
  96. package/dist/Runtime/Extensions/TileMap/TileMapRuntimeManager.js.map +2 -2
  97. package/dist/Runtime/Extensions/TileMap/collision/TransformedTileMap.js +1 -1
  98. package/dist/Runtime/Extensions/TileMap/collision/TransformedTileMap.js.map +2 -2
  99. package/dist/Runtime/Extensions/TileMap/helper/TileMapHelper.js +1 -1
  100. package/dist/Runtime/Extensions/TileMap/helper/TileMapHelper.js.map +1 -1
  101. package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledTileMapLoader.d.ts.map +1 -1
  102. package/dist/Runtime/Extensions/TileMap/helper/dts/model/TileMapModel.d.ts +12 -1
  103. package/dist/Runtime/Extensions/TileMap/helper/dts/model/TileMapModel.d.ts.map +1 -1
  104. package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileMapManager.d.ts.map +1 -1
  105. package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileMapPixiHelper.d.ts +1 -0
  106. package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileMapPixiHelper.d.ts.map +1 -1
  107. package/dist/Runtime/Extensions/TileMap/simpletilemapruntimeobject.js +1 -1
  108. package/dist/Runtime/Extensions/TileMap/simpletilemapruntimeobject.js.map +2 -2
  109. package/dist/Runtime/Extensions/TileMap/tilemapcollisionmaskruntimeobject.js +1 -1
  110. package/dist/Runtime/Extensions/TileMap/tilemapcollisionmaskruntimeobject.js.map +2 -2
  111. package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject-pixi-renderer.js +1 -1
  112. package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject-pixi-renderer.js.map +2 -2
  113. package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject.js +1 -1
  114. package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject.js.map +2 -2
  115. package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject.js +1 -1
  116. package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject.js.map +2 -2
  117. package/dist/Runtime/Extensions/TweenBehavior/JsExtension.js +1 -0
  118. package/dist/Runtime/Extensions/Video/JsExtension.js +35 -44
  119. package/dist/Runtime/Extensions/Video/videoruntimeobject.js +1 -1
  120. package/dist/Runtime/Extensions/Video/videoruntimeobject.js.map +2 -2
  121. package/dist/Runtime/ResourceLoader.js +1 -1
  122. package/dist/Runtime/ResourceLoader.js.map +2 -2
  123. package/dist/Runtime/RuntimeInstanceContainer.js.map +2 -2
  124. package/dist/Runtime/SpriteAnimator.js +1 -1
  125. package/dist/Runtime/SpriteAnimator.js.map +2 -2
  126. package/dist/Runtime/debugger-client/InGameDebugger.js +1 -1
  127. package/dist/Runtime/debugger-client/InGameDebugger.js.map +2 -2
  128. package/dist/Runtime/debugger-client/abstract-debugger-client.js +1 -1
  129. package/dist/Runtime/debugger-client/abstract-debugger-client.js.map +2 -2
  130. package/dist/Runtime/debugger-client/hot-reloader.js +2 -1
  131. package/dist/Runtime/debugger-client/hot-reloader.js.map +2 -2
  132. package/dist/Runtime/debugger-client/minimal-debugger-client.js +2 -0
  133. package/dist/Runtime/debugger-client/minimal-debugger-client.js.map +7 -0
  134. package/dist/Runtime/debugger-client/websocket-debugger-client.js.map +2 -2
  135. package/dist/Runtime/debugger-client/window-message-debugger-client.js.map +2 -2
  136. package/dist/Runtime/events-tools/inputtools.js +1 -1
  137. package/dist/Runtime/events-tools/inputtools.js.map +2 -2
  138. package/dist/Runtime/events-tools/objecttools.js +1 -1
  139. package/dist/Runtime/events-tools/objecttools.js.map +2 -2
  140. package/dist/Runtime/gd.js +1 -1
  141. package/dist/Runtime/gd.js.map +2 -2
  142. package/dist/Runtime/howler-sound-manager/howler-sound-manager.js +1 -1
  143. package/dist/Runtime/howler-sound-manager/howler-sound-manager.js.map +2 -2
  144. package/dist/Runtime/inputmanager.js +1 -1
  145. package/dist/Runtime/inputmanager.js.map +2 -2
  146. package/dist/Runtime/pixi-renderers/CustomRuntimeObject2DPixiRenderer.js +1 -1
  147. package/dist/Runtime/pixi-renderers/CustomRuntimeObject2DPixiRenderer.js.map +2 -2
  148. package/dist/Runtime/pixi-renderers/pixi-filters-tools.js +1 -1
  149. package/dist/Runtime/pixi-renderers/pixi-filters-tools.js.map +2 -2
  150. package/dist/Runtime/pixi-renderers/runtimegame-pixi-renderer.js +1 -1
  151. package/dist/Runtime/pixi-renderers/runtimegame-pixi-renderer.js.map +2 -2
  152. package/dist/Runtime/pixi-renderers/spriteruntimeobject-pixi-renderer.js +1 -1
  153. package/dist/Runtime/pixi-renderers/spriteruntimeobject-pixi-renderer.js.map +2 -2
  154. package/dist/Runtime/runtimegame.js +1 -1
  155. package/dist/Runtime/runtimegame.js.map +2 -2
  156. package/dist/Runtime/runtimeobject.js +1 -1
  157. package/dist/Runtime/runtimeobject.js.map +2 -2
  158. package/dist/Runtime/runtimescene.js +1 -1
  159. package/dist/Runtime/runtimescene.js.map +2 -2
  160. package/dist/Runtime/scenestack.js +1 -1
  161. package/dist/Runtime/scenestack.js.map +2 -2
  162. package/dist/Runtime/spriteruntimeobject.js +1 -1
  163. package/dist/Runtime/spriteruntimeobject.js.map +2 -2
  164. package/dist/Runtime/types/project-data.d.ts +36 -8
  165. package/dist/Runtime/variablescontainer.js +1 -1
  166. package/dist/Runtime/variablescontainer.js.map +2 -2
  167. package/dist/lib/libGD.cjs +1 -1
  168. package/dist/lib/libGD.wasm +0 -0
  169. package/gd.d.ts +149 -75
  170. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/BitmapText/bitmaptextruntimeobject.ts"],
4
- "sourcesContent": ["namespace gdjs {\n /** Base parameters for {@link gdjs.BitmapTextRuntimeObject} */\n export type BitmapTextObjectDataType = {\n /** The base parameters of the Bitmap Text */\n content: {\n /** The opacity of the text. */\n opacity: float;\n /** Content of the text. */\n text: string;\n /** The tint of the text. */\n tint: string;\n /** The name of the resource containing the bitmap font for the text. */\n bitmapFontResourceName: string;\n /** The name of the resource containing the atlas image file for the text. */\n textureAtlasResourceName: string;\n /** The scale of the text. */\n scale: float;\n /** Activate word wrap if set to true. */\n wordWrap: boolean;\n /** Wrapping with from custom size properties. */\n wrappingWidth: float;\n /** Alignment of the text. */\n align: 'left' | 'center' | 'right';\n };\n };\n export type BitmapTextObjectData = ObjectData & BitmapTextObjectDataType;\n\n export type BitmapTextObjectNetworkSyncDataType = {\n text: string;\n opa: float;\n tint: number[];\n bfrn: string;\n tarn: string;\n scale: number;\n wwrap: boolean;\n wwidth: float;\n align: string;\n };\n\n export type BitmapTextObjectNetworkSyncData = ObjectNetworkSyncData &\n BitmapTextObjectNetworkSyncDataType;\n\n /**\n * Displays a text using a \"Bitmap Font\", generated in a external editor like bmFont.\n * This is more efficient/faster to render than a traditional text (which needs\n * to have its whole texture re-rendered anytime it changes).\n *\n * Bitmap Font can be created with softwares like:\n * * BMFont (Windows, free): http://www.angelcode.com/products/bmfont/|http://www.angelcode.com/products/bmfont/\n * * Glyph Designer (OS X, commercial): http://www.71squared.com/en/glyphdesigner|http://www.71squared.com/en/glyphdesigner\n * * Littera (Web-based, free): http://kvazars.com/littera/|http://kvazars.com/littera/\n */\n export class BitmapTextRuntimeObject\n extends gdjs.RuntimeObject\n implements gdjs.TextContainer, gdjs.OpacityHandler, gdjs.Scalable {\n _opacity: float;\n _text: string;\n /** color in format [r, g, b], where each component is in the range [0, 255] */\n _tint: integer[];\n _bitmapFontResourceName: string;\n _textureAtlasResourceName: string;\n _scaleX: number;\n _scaleY: number;\n _wordWrap: boolean;\n _wrappingWidth: float;\n _align: string;\n\n _renderer: gdjs.BitmapTextRuntimeObjectPixiRenderer;\n\n /**\n * @param instanceContainer The container the object belongs to.\n * @param objectData The object data used to initialize the object\n */\n constructor(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n objectData: BitmapTextObjectData\n ) {\n super(instanceContainer, objectData);\n\n this._opacity = objectData.content.opacity;\n this._text = objectData.content.text;\n this._tint = gdjs.rgbOrHexToRGBColor(objectData.content.tint);\n\n this._bitmapFontResourceName = objectData.content.bitmapFontResourceName; // fnt/xml files\n this._textureAtlasResourceName =\n objectData.content.textureAtlasResourceName; // texture file used with fnt/xml (bitmap font file)\n this._scaleX = objectData.content.scale;\n this._scaleY = objectData.content.scale;\n this._wordWrap = objectData.content.wordWrap;\n this._wrappingWidth = 0;\n this._align = objectData.content.align;\n\n this._renderer = new gdjs.BitmapTextRuntimeObjectRenderer(\n this,\n instanceContainer\n );\n\n // *ALWAYS* call `this.onCreated()` at the very end of your object constructor.\n this.onCreated();\n }\n\n getRendererObject() {\n return this._renderer.getRendererObject();\n }\n\n // @ts-ignore\n updateFromObjectData(\n oldObjectData: BitmapTextObjectDataType,\n newObjectData: BitmapTextObjectDataType\n ): boolean {\n if (oldObjectData.content.opacity !== newObjectData.content.opacity) {\n this.setOpacity(newObjectData.content.opacity);\n }\n if (oldObjectData.content.text !== newObjectData.content.text) {\n this.setText(newObjectData.content.text);\n }\n if (oldObjectData.content.tint !== newObjectData.content.tint) {\n this._tint = gdjs.rgbOrHexToRGBColor(newObjectData.content.tint);\n this._renderer.updateTint();\n }\n if (\n oldObjectData.content.bitmapFontResourceName !==\n newObjectData.content.bitmapFontResourceName\n ) {\n this.setBitmapFontResourceName(\n newObjectData.content.bitmapFontResourceName\n );\n }\n if (\n oldObjectData.content.textureAtlasResourceName !==\n newObjectData.content.textureAtlasResourceName\n ) {\n this.setTextureAtlasResourceName(\n newObjectData.content.textureAtlasResourceName\n );\n }\n if (oldObjectData.content.scale !== newObjectData.content.scale) {\n this.setScale(newObjectData.content.scale);\n }\n if (oldObjectData.content.wordWrap !== newObjectData.content.wordWrap) {\n this.setWordWrap(newObjectData.content.wordWrap);\n }\n if (oldObjectData.content.align !== newObjectData.content.align) {\n this.setAlignment(newObjectData.content.align);\n }\n\n return true;\n }\n\n getNetworkSyncData(): BitmapTextObjectNetworkSyncData {\n return {\n ...super.getNetworkSyncData(),\n text: this._text,\n opa: this._opacity,\n tint: this._tint,\n bfrn: this._bitmapFontResourceName,\n tarn: this._textureAtlasResourceName,\n scale: this.getScale(),\n wwrap: this._wordWrap,\n wwidth: this._wrappingWidth,\n align: this._align,\n };\n }\n\n updateFromNetworkSyncData(\n networkSyncData: BitmapTextObjectNetworkSyncData\n ): void {\n super.updateFromNetworkSyncData(networkSyncData);\n if (this._text !== undefined) {\n this.setText(networkSyncData.text);\n }\n if (this._opacity !== undefined) {\n this.setOpacity(networkSyncData.opa);\n }\n if (this._tint !== undefined) {\n this._tint = networkSyncData.tint;\n this._renderer.updateTint();\n }\n if (this._bitmapFontResourceName !== undefined) {\n this.setBitmapFontResourceName(networkSyncData.bfrn);\n }\n if (this._textureAtlasResourceName !== undefined) {\n this.setTextureAtlasResourceName(networkSyncData.tarn);\n }\n if (this._scaleX !== undefined) {\n this.setScale(networkSyncData.scale);\n }\n if (this._wordWrap !== undefined) {\n this.setWordWrap(networkSyncData.wwrap);\n }\n if (this._wrappingWidth !== undefined) {\n this.setWrappingWidth(networkSyncData.wwidth);\n }\n if (this._align !== undefined) {\n this.setAlignment(networkSyncData.align);\n }\n }\n\n /**\n * Initialize the extra parameters that could be set for an instance.\n */\n extraInitializationFromInitialInstance(initialInstanceData: InstanceData) {\n if (initialInstanceData.customSize) {\n this.setWrappingWidth(initialInstanceData.width);\n }\n }\n\n onDestroyed(): void {\n super.onDestroyed();\n this._renderer.onDestroy();\n }\n\n /**\n * Set the text to display.\n */\n setText(text: string): void {\n this._text = text;\n this._renderer.updateTextContent();\n this.invalidateHitboxes();\n }\n\n /**\n * Get the text displayed by the object.\n */\n getText(): string {\n return this._text;\n }\n\n setTint(rgbColorString: string): void {\n this._tint = gdjs.rgbOrHexToRGBColor(rgbColorString);\n this._renderer.updateTint();\n }\n\n getTint(): string {\n return this._tint[0] + ';' + this._tint[1] + ';' + this._tint[2];\n }\n\n getScale(): number {\n const scaleX = this.getScaleX();\n const scaleY = this.getScaleY();\n return scaleX === scaleY ? scaleX : Math.sqrt(scaleX * scaleY);\n }\n\n getScaleX(): float {\n return this._scaleX;\n }\n\n getScaleY(): float {\n return this._scaleY;\n }\n\n setScale(scale: float): void {\n this.setScaleX(scale);\n this.setScaleY(scale);\n }\n\n setScaleX(scaleX: float): void {\n if (scaleX < 0) {\n scaleX = 0;\n }\n if (this._scaleX === scaleX) return;\n\n this._scaleX = scaleX;\n this._renderer.updateScale();\n this.invalidateHitboxes();\n }\n\n setScaleY(scaleY: float): void {\n if (scaleY < 0) {\n scaleY = 0;\n }\n if (this._scaleY === scaleY) return;\n\n this._scaleY = scaleY;\n this._renderer.updateScale();\n this.invalidateHitboxes();\n }\n\n getFontSize(): float {\n return this._renderer.getFontSize();\n }\n\n setBitmapFontAndTextureAtlasResourceName(\n bitmapFontResourceName: string,\n textureAtlasResourceName: string\n ): void {\n if (bitmapFontResourceName) {\n this.setBitmapFontResourceName(bitmapFontResourceName);\n this._renderer.updateFont();\n }\n if (textureAtlasResourceName) {\n this.setTextureAtlasResourceName(textureAtlasResourceName);\n this._renderer.updateFont();\n }\n }\n\n setBitmapFontResourceName(bitmapFontResourceName: string): void {\n this._bitmapFontResourceName = bitmapFontResourceName;\n }\n\n getBitmapFontResourceName(): string {\n return this._bitmapFontResourceName;\n }\n\n setTextureAtlasResourceName(textureAtlasResourceName: string): void {\n this._textureAtlasResourceName = textureAtlasResourceName;\n }\n\n getTextureAtlasResourceName(): string {\n return this._textureAtlasResourceName;\n }\n\n setAlignment(align: string): void {\n this._align = align;\n this._renderer.updateAlignment();\n }\n\n getAlignment(): string {\n return this._align;\n }\n\n /**\n * Set object position on X axis.\n * @param x The new position X of the object.\n */\n setX(x: float): void {\n super.setX(x);\n this._renderer.updatePosition();\n }\n\n /**\n * Set object position on Y axis.\n * @param y The new position Y of the object.\n */\n setY(y: float): void {\n super.setY(y);\n this._renderer.updatePosition();\n }\n\n /**\n * Set the angle of the object.\n * @param angle The new angle of the object.\n */\n setAngle(angle: float): void {\n super.setAngle(angle);\n this._renderer.updateAngle();\n }\n\n /**\n * Set object opacity.\n * @param opacity The new opacity of the object (0-255).\n */\n setOpacity(opacity: float): void {\n if (opacity < 0) {\n opacity = 0;\n }\n if (opacity > 255) {\n opacity = 255;\n }\n this._opacity = opacity;\n this._renderer.updateOpacity();\n }\n\n /**\n * Get object opacity.\n */\n getOpacity(): float {\n return this._opacity;\n }\n\n /**\n * Set the wrapping width.\n * @param width The new width in pixels.\n */\n setWrappingWidth(width: float): void {\n this._wrappingWidth = width;\n this._renderer.updateWrappingWidth();\n this.invalidateHitboxes();\n }\n\n /**\n * Get the wrapping width of the object.\n */\n getWrappingWidth(): float {\n return this._wrappingWidth;\n }\n\n setWordWrap(wordWrap: boolean): void {\n this._wordWrap = wordWrap;\n this._renderer.updateWrappingWidth();\n this.invalidateHitboxes();\n }\n\n getWordWrap(): boolean {\n return this._wordWrap;\n }\n\n /**\n * Get the width of the object.\n */\n getWidth(): float {\n return this._renderer.getWidth();\n }\n\n /**\n * Get the height of the object.\n */\n getHeight(): float {\n return this._renderer.getHeight();\n }\n }\n gdjs.registerObject(\n 'BitmapText::BitmapTextObject',\n // @ts-ignore\n gdjs.BitmapTextRuntimeObject\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAoDS,eACG,GAAK,aACqD,CAmBlE,YACE,EACA,EACA,CACA,MAAM,EAAmB,GAEzB,KAAK,SAAW,EAAW,QAAQ,QACnC,KAAK,MAAQ,EAAW,QAAQ,KAChC,KAAK,MAAQ,EAAK,mBAAmB,EAAW,QAAQ,MAExD,KAAK,wBAA0B,EAAW,QAAQ,uBAClD,KAAK,0BACH,EAAW,QAAQ,yBACrB,KAAK,QAAU,EAAW,QAAQ,MAClC,KAAK,QAAU,EAAW,QAAQ,MAClC,KAAK,UAAY,EAAW,QAAQ,SACpC,KAAK,eAAiB,EACtB,KAAK,OAAS,EAAW,QAAQ,MAEjC,KAAK,UAAY,GAAI,GAAK,gCACxB,KACA,GAIF,KAAK,YAGP,mBAAoB,CAClB,MAAO,MAAK,UAAU,oBAIxB,qBACE,EACA,EACS,CACT,MAAI,GAAc,QAAQ,UAAY,EAAc,QAAQ,SAC1D,KAAK,WAAW,EAAc,QAAQ,SAEpC,EAAc,QAAQ,OAAS,EAAc,QAAQ,MACvD,KAAK,QAAQ,EAAc,QAAQ,MAEjC,EAAc,QAAQ,OAAS,EAAc,QAAQ,MACvD,MAAK,MAAQ,EAAK,mBAAmB,EAAc,QAAQ,MAC3D,KAAK,UAAU,cAGf,EAAc,QAAQ,yBACtB,EAAc,QAAQ,wBAEtB,KAAK,0BACH,EAAc,QAAQ,wBAIxB,EAAc,QAAQ,2BACtB,EAAc,QAAQ,0BAEtB,KAAK,4BACH,EAAc,QAAQ,0BAGtB,EAAc,QAAQ,QAAU,EAAc,QAAQ,OACxD,KAAK,SAAS,EAAc,QAAQ,OAElC,EAAc,QAAQ,WAAa,EAAc,QAAQ,UAC3D,KAAK,YAAY,EAAc,QAAQ,UAErC,EAAc,QAAQ,QAAU,EAAc,QAAQ,OACxD,KAAK,aAAa,EAAc,QAAQ,OAGnC,GAGT,oBAAsD,CACpD,MAAO,IACF,MAAM,qBACT,KAAM,KAAK,MACX,IAAK,KAAK,SACV,KAAM,KAAK,MACX,KAAM,KAAK,wBACX,KAAM,KAAK,0BACX,MAAO,KAAK,WACZ,MAAO,KAAK,UACZ,OAAQ,KAAK,eACb,MAAO,KAAK,QAIhB,0BACE,EACM,CACN,MAAM,0BAA0B,GAC5B,KAAK,QAAU,QACjB,KAAK,QAAQ,EAAgB,MAE3B,KAAK,WAAa,QACpB,KAAK,WAAW,EAAgB,KAE9B,KAAK,QAAU,QACjB,MAAK,MAAQ,EAAgB,KAC7B,KAAK,UAAU,cAEb,KAAK,0BAA4B,QACnC,KAAK,0BAA0B,EAAgB,MAE7C,KAAK,4BAA8B,QACrC,KAAK,4BAA4B,EAAgB,MAE/C,KAAK,UAAY,QACnB,KAAK,SAAS,EAAgB,OAE5B,KAAK,YAAc,QACrB,KAAK,YAAY,EAAgB,OAE/B,KAAK,iBAAmB,QAC1B,KAAK,iBAAiB,EAAgB,QAEpC,KAAK,SAAW,QAClB,KAAK,aAAa,EAAgB,OAOtC,uCAAuC,EAAmC,CACxE,AAAI,EAAoB,YACtB,KAAK,iBAAiB,EAAoB,OAI9C,aAAoB,CAClB,MAAM,cACN,KAAK,UAAU,YAMjB,QAAQ,EAAoB,CAC1B,KAAK,MAAQ,EACb,KAAK,UAAU,oBACf,KAAK,qBAMP,SAAkB,CAChB,MAAO,MAAK,MAGd,QAAQ,EAA8B,CACpC,KAAK,MAAQ,EAAK,mBAAmB,GACrC,KAAK,UAAU,aAGjB,SAAkB,CAChB,MAAO,MAAK,MAAM,GAAK,IAAM,KAAK,MAAM,GAAK,IAAM,KAAK,MAAM,GAGhE,UAAmB,CACjB,KAAM,GAAS,KAAK,YACd,EAAS,KAAK,YACpB,MAAO,KAAW,EAAS,EAAS,KAAK,KAAK,EAAS,GAGzD,WAAmB,CACjB,MAAO,MAAK,QAGd,WAAmB,CACjB,MAAO,MAAK,QAGd,SAAS,EAAoB,CAC3B,KAAK,UAAU,GACf,KAAK,UAAU,GAGjB,UAAU,EAAqB,CAI7B,AAHI,EAAS,GACX,GAAS,GAEP,KAAK,UAAY,GAErB,MAAK,QAAU,EACf,KAAK,UAAU,cACf,KAAK,sBAGP,UAAU,EAAqB,CAI7B,AAHI,EAAS,GACX,GAAS,GAEP,KAAK,UAAY,GAErB,MAAK,QAAU,EACf,KAAK,UAAU,cACf,KAAK,sBAGP,aAAqB,CACnB,MAAO,MAAK,UAAU,cAGxB,yCACE,EACA,EACM,CACN,AAAI,GACF,MAAK,0BAA0B,GAC/B,KAAK,UAAU,cAEb,GACF,MAAK,4BAA4B,GACjC,KAAK,UAAU,cAInB,0BAA0B,EAAsC,CAC9D,KAAK,wBAA0B,EAGjC,2BAAoC,CAClC,MAAO,MAAK,wBAGd,4BAA4B,EAAwC,CAClE,KAAK,0BAA4B,EAGnC,6BAAsC,CACpC,MAAO,MAAK,0BAGd,aAAa,EAAqB,CAChC,KAAK,OAAS,EACd,KAAK,UAAU,kBAGjB,cAAuB,CACrB,MAAO,MAAK,OAOd,KAAK,EAAgB,CACnB,MAAM,KAAK,GACX,KAAK,UAAU,iBAOjB,KAAK,EAAgB,CACnB,MAAM,KAAK,GACX,KAAK,UAAU,iBAOjB,SAAS,EAAoB,CAC3B,MAAM,SAAS,GACf,KAAK,UAAU,cAOjB,WAAW,EAAsB,CAC/B,AAAI,EAAU,GACZ,GAAU,GAER,EAAU,KACZ,GAAU,KAEZ,KAAK,SAAW,EAChB,KAAK,UAAU,gBAMjB,YAAoB,CAClB,MAAO,MAAK,SAOd,iBAAiB,EAAoB,CACnC,KAAK,eAAiB,EACtB,KAAK,UAAU,sBACf,KAAK,qBAMP,kBAA0B,CACxB,MAAO,MAAK,eAGd,YAAY,EAAyB,CACnC,KAAK,UAAY,EACjB,KAAK,UAAU,sBACf,KAAK,qBAGP,aAAuB,CACrB,MAAO,MAAK,UAMd,UAAkB,CAChB,MAAO,MAAK,UAAU,WAMxB,WAAmB,CACjB,MAAO,MAAK,UAAU,aApWnB,EAAM,0BAuWb,EAAK,eACH,+BAEA,EAAK,2BA9ZC",
4
+ "sourcesContent": ["namespace gdjs {\n /** Base parameters for {@link gdjs.BitmapTextRuntimeObject} */\n export type BitmapTextObjectDataType = {\n /** The base parameters of the Bitmap Text */\n content: {\n /** The opacity of the text. */\n opacity: float;\n /** Content of the text. */\n text: string;\n /** The tint of the text. */\n tint: string;\n /** The name of the resource containing the bitmap font for the text. */\n bitmapFontResourceName: string;\n /** The name of the resource containing the atlas image file for the text. */\n textureAtlasResourceName: string;\n /** The scale of the text. */\n scale: float;\n /** Activate word wrap if set to true. */\n wordWrap: boolean;\n /** Wrapping with from custom size properties. */\n wrappingWidth: float;\n /** Alignment of the text. */\n align: 'left' | 'center' | 'right';\n };\n };\n export type BitmapTextObjectData = ObjectData & BitmapTextObjectDataType;\n\n export type BitmapTextObjectNetworkSyncDataType = {\n text: string;\n opa: float;\n tint: number[];\n bfrn: string;\n tarn: string;\n scale: number;\n wwrap: boolean;\n wwidth: float;\n align: string;\n };\n\n export type BitmapTextObjectNetworkSyncData = ObjectNetworkSyncData &\n BitmapTextObjectNetworkSyncDataType;\n\n /**\n * Displays a text using a \"Bitmap Font\", generated in a external editor like bmFont.\n * This is more efficient/faster to render than a traditional text (which needs\n * to have its whole texture re-rendered anytime it changes).\n *\n * Bitmap Font can be created with softwares like:\n * * BMFont (Windows, free): http://www.angelcode.com/products/bmfont/|http://www.angelcode.com/products/bmfont/\n * * Glyph Designer (OS X, commercial): http://www.71squared.com/en/glyphdesigner|http://www.71squared.com/en/glyphdesigner\n * * Littera (Web-based, free): http://kvazars.com/littera/|http://kvazars.com/littera/\n */\n export class BitmapTextRuntimeObject\n extends gdjs.RuntimeObject\n implements gdjs.TextContainer, gdjs.OpacityHandler, gdjs.Scalable {\n _opacity: float;\n _text: string;\n /** color in format [r, g, b], where each component is in the range [0, 255] */\n _tint: integer[];\n _bitmapFontResourceName: string;\n _textureAtlasResourceName: string;\n _scaleX: number;\n _scaleY: number;\n _wordWrap: boolean;\n _wrappingWidth: float;\n _align: string;\n\n _renderer: gdjs.BitmapTextRuntimeObjectPixiRenderer;\n\n /**\n * @param instanceContainer The container the object belongs to.\n * @param objectData The object data used to initialize the object\n */\n constructor(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n objectData: BitmapTextObjectData\n ) {\n super(instanceContainer, objectData);\n\n this._opacity = objectData.content.opacity;\n this._text = objectData.content.text;\n this._tint = gdjs.rgbOrHexToRGBColor(objectData.content.tint);\n\n this._bitmapFontResourceName = objectData.content.bitmapFontResourceName; // fnt/xml files\n this._textureAtlasResourceName =\n objectData.content.textureAtlasResourceName; // texture file used with fnt/xml (bitmap font file)\n this._scaleX = objectData.content.scale;\n this._scaleY = objectData.content.scale;\n this._wordWrap = objectData.content.wordWrap;\n this._wrappingWidth = 0;\n this._align = objectData.content.align;\n\n this._renderer = new gdjs.BitmapTextRuntimeObjectRenderer(\n this,\n instanceContainer\n );\n\n // *ALWAYS* call `this.onCreated()` at the very end of your object constructor.\n this.onCreated();\n }\n\n getRendererObject() {\n return this._renderer.getRendererObject();\n }\n\n // @ts-ignore\n updateFromObjectData(\n oldObjectData: BitmapTextObjectDataType,\n newObjectData: BitmapTextObjectDataType\n ): boolean {\n if (oldObjectData.content.opacity !== newObjectData.content.opacity) {\n this.setOpacity(newObjectData.content.opacity);\n }\n if (oldObjectData.content.text !== newObjectData.content.text) {\n this.setText(newObjectData.content.text);\n }\n if (oldObjectData.content.tint !== newObjectData.content.tint) {\n this._tint = gdjs.rgbOrHexToRGBColor(newObjectData.content.tint);\n this._renderer.updateTint();\n }\n if (\n oldObjectData.content.bitmapFontResourceName !==\n newObjectData.content.bitmapFontResourceName\n ) {\n this.setBitmapFontResourceName(\n newObjectData.content.bitmapFontResourceName\n );\n }\n if (\n oldObjectData.content.textureAtlasResourceName !==\n newObjectData.content.textureAtlasResourceName\n ) {\n this.setTextureAtlasResourceName(\n newObjectData.content.textureAtlasResourceName\n );\n }\n if (oldObjectData.content.scale !== newObjectData.content.scale) {\n this.setScale(newObjectData.content.scale);\n }\n if (oldObjectData.content.wordWrap !== newObjectData.content.wordWrap) {\n this.setWordWrap(newObjectData.content.wordWrap);\n }\n if (oldObjectData.content.align !== newObjectData.content.align) {\n this.setAlignment(newObjectData.content.align);\n }\n\n return true;\n }\n\n getNetworkSyncData(): BitmapTextObjectNetworkSyncData {\n return {\n ...super.getNetworkSyncData(),\n text: this._text,\n opa: this._opacity,\n tint: this._tint,\n bfrn: this._bitmapFontResourceName,\n tarn: this._textureAtlasResourceName,\n scale: this.getScale(),\n wwrap: this._wordWrap,\n wwidth: this._wrappingWidth,\n align: this._align,\n };\n }\n\n updateFromNetworkSyncData(\n networkSyncData: BitmapTextObjectNetworkSyncData\n ): void {\n super.updateFromNetworkSyncData(networkSyncData);\n if (this._text !== undefined) {\n this.setText(networkSyncData.text);\n }\n if (this._opacity !== undefined) {\n this.setOpacity(networkSyncData.opa);\n }\n if (this._tint !== undefined) {\n this._tint = networkSyncData.tint;\n this._renderer.updateTint();\n }\n if (this._bitmapFontResourceName !== undefined) {\n this.setBitmapFontResourceName(networkSyncData.bfrn);\n }\n if (this._textureAtlasResourceName !== undefined) {\n this.setTextureAtlasResourceName(networkSyncData.tarn);\n }\n if (this._scaleX !== undefined) {\n this.setScale(networkSyncData.scale);\n }\n if (this._wordWrap !== undefined) {\n this.setWordWrap(networkSyncData.wwrap);\n }\n if (this._wrappingWidth !== undefined) {\n this.setWrappingWidth(networkSyncData.wwidth);\n }\n if (this._align !== undefined) {\n this.setAlignment(networkSyncData.align);\n }\n }\n\n /**\n * Initialize the extra parameters that could be set for an instance.\n */\n extraInitializationFromInitialInstance(initialInstanceData: InstanceData) {\n if (initialInstanceData.customSize) {\n this.setWrappingWidth(initialInstanceData.width);\n }\n if (initialInstanceData.opacity !== undefined) {\n this.setOpacity(initialInstanceData.opacity);\n }\n }\n\n onDestroyed(): void {\n super.onDestroyed();\n this._renderer.onDestroy();\n }\n\n /**\n * Set the text to display.\n */\n setText(text: string): void {\n this._text = text;\n this._renderer.updateTextContent();\n this.invalidateHitboxes();\n }\n\n /**\n * Get the text displayed by the object.\n */\n getText(): string {\n return this._text;\n }\n\n setTint(rgbColorString: string): void {\n this._tint = gdjs.rgbOrHexToRGBColor(rgbColorString);\n this._renderer.updateTint();\n }\n\n getTint(): string {\n return this._tint[0] + ';' + this._tint[1] + ';' + this._tint[2];\n }\n\n getScale(): number {\n const scaleX = this.getScaleX();\n const scaleY = this.getScaleY();\n return scaleX === scaleY ? scaleX : Math.sqrt(scaleX * scaleY);\n }\n\n getScaleX(): float {\n return this._scaleX;\n }\n\n getScaleY(): float {\n return this._scaleY;\n }\n\n setScale(scale: float): void {\n this.setScaleX(scale);\n this.setScaleY(scale);\n }\n\n setScaleX(scaleX: float): void {\n if (scaleX < 0) {\n scaleX = 0;\n }\n if (this._scaleX === scaleX) return;\n\n this._scaleX = scaleX;\n this._renderer.updateScale();\n this.invalidateHitboxes();\n }\n\n setScaleY(scaleY: float): void {\n if (scaleY < 0) {\n scaleY = 0;\n }\n if (this._scaleY === scaleY) return;\n\n this._scaleY = scaleY;\n this._renderer.updateScale();\n this.invalidateHitboxes();\n }\n\n getFontSize(): float {\n return this._renderer.getFontSize();\n }\n\n setBitmapFontAndTextureAtlasResourceName(\n bitmapFontResourceName: string,\n textureAtlasResourceName: string\n ): void {\n if (bitmapFontResourceName) {\n this.setBitmapFontResourceName(bitmapFontResourceName);\n this._renderer.updateFont();\n }\n if (textureAtlasResourceName) {\n this.setTextureAtlasResourceName(textureAtlasResourceName);\n this._renderer.updateFont();\n }\n }\n\n setBitmapFontResourceName(bitmapFontResourceName: string): void {\n this._bitmapFontResourceName = bitmapFontResourceName;\n }\n\n getBitmapFontResourceName(): string {\n return this._bitmapFontResourceName;\n }\n\n setTextureAtlasResourceName(textureAtlasResourceName: string): void {\n this._textureAtlasResourceName = textureAtlasResourceName;\n }\n\n getTextureAtlasResourceName(): string {\n return this._textureAtlasResourceName;\n }\n\n setAlignment(align: string): void {\n this._align = align;\n this._renderer.updateAlignment();\n }\n\n getAlignment(): string {\n return this._align;\n }\n\n /**\n * Set object position on X axis.\n * @param x The new position X of the object.\n */\n setX(x: float): void {\n super.setX(x);\n this._renderer.updatePosition();\n }\n\n /**\n * Set object position on Y axis.\n * @param y The new position Y of the object.\n */\n setY(y: float): void {\n super.setY(y);\n this._renderer.updatePosition();\n }\n\n /**\n * Set the angle of the object.\n * @param angle The new angle of the object.\n */\n setAngle(angle: float): void {\n super.setAngle(angle);\n this._renderer.updateAngle();\n }\n\n /**\n * Set object opacity.\n * @param opacity The new opacity of the object (0-255).\n */\n setOpacity(opacity: float): void {\n if (opacity < 0) {\n opacity = 0;\n }\n if (opacity > 255) {\n opacity = 255;\n }\n this._opacity = opacity;\n this._renderer.updateOpacity();\n }\n\n /**\n * Get object opacity.\n */\n getOpacity(): float {\n return this._opacity;\n }\n\n /**\n * Set the wrapping width.\n * @param width The new width in pixels.\n */\n setWrappingWidth(width: float): void {\n this._wrappingWidth = width;\n this._renderer.updateWrappingWidth();\n this.invalidateHitboxes();\n }\n\n /**\n * Get the wrapping width of the object.\n */\n getWrappingWidth(): float {\n return this._wrappingWidth;\n }\n\n setWordWrap(wordWrap: boolean): void {\n this._wordWrap = wordWrap;\n this._renderer.updateWrappingWidth();\n this.invalidateHitboxes();\n }\n\n getWordWrap(): boolean {\n return this._wordWrap;\n }\n\n /**\n * Get the width of the object.\n */\n getWidth(): float {\n return this._renderer.getWidth();\n }\n\n /**\n * Get the height of the object.\n */\n getHeight(): float {\n return this._renderer.getHeight();\n }\n }\n gdjs.registerObject(\n 'BitmapText::BitmapTextObject',\n // @ts-ignore\n gdjs.BitmapTextRuntimeObject\n );\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -52,7 +52,7 @@ module.exports = {
52
52
  .setType('number');
53
53
  adjustmentProperties
54
54
  .getOrCreate('saturation')
55
- .setValue('2')
55
+ .setValue('1')
56
56
  .setLabel(_('Saturation (between 0 and 5)'))
57
57
  .setType('number');
58
58
  adjustmentProperties
@@ -77,7 +77,7 @@ module.exports = {
77
77
  .setType('number');
78
78
  adjustmentProperties
79
79
  .getOrCreate('blue')
80
- .setValue('0.6')
80
+ .setValue('1')
81
81
  .setLabel(_('Blue (between 0 and 5)'))
82
82
  .setType('number');
83
83
  adjustmentProperties
@@ -1,2 +1,2 @@
1
- var gdjs;(function(i){i.PixiFiltersTools.registerFilterCreator("Bevel",new class extends i.PixiFiltersTools.PixiFilterCreator{makePIXIFilter(r,e){return new PIXI.filters.BevelFilter}updatePreRender(r,e){}updateDoubleParameter(r,e,t){const l=r;e==="rotation"?l.rotation=t:e==="thickness"?l.thickness=t:e==="distance"?l.distance=t:e==="lightAlpha"?l.lightAlpha=t:e==="shadowAlpha"&&(l.shadowAlpha=t)}getDoubleParameter(r,e){const t=r;return e==="rotation"?t.rotation:e==="thickness"?t.thickness:e==="distance"?t.distance:e==="lightAlpha"?t.lightAlpha:e==="shadowAlpha"?t.shadowAlpha:0}updateStringParameter(r,e,t){const l=r;e==="lightColor"&&(l.lightColor=i.PixiFiltersTools.rgbOrHexToHexNumber(t)),e==="shadowColor"&&(l.shadowColor=i.PixiFiltersTools.rgbOrHexToHexNumber(t))}updateColorParameter(r,e,t){const l=r;e==="lightColor"&&(l.lightColor=t),e==="shadowColor"&&(l.shadowColor=t)}getColorParameter(r,e){const t=r;return e==="lightColor"?t.lightColor:e==="shadowColor"?t.shadowColor:0}updateBooleanParameter(r,e,t){}getNetworkSyncData(r){const e=r;return{r:e.rotation,t:e.thickness,d:e.distance,la:e.lightAlpha,sa:e.shadowAlpha,lc:e.lightColor,sc:e.shadowColor}}updateFromNetworkSyncData(r,e){const t=r;t.rotation=e.r,t.thickness=e.t,t.distance=e.d,t.lightAlpha=e.la,t.shadowAlpha=e.sa,t.lightColor=e.lc,t.shadowColor=e.sc}})})(gdjs||(gdjs={}));
1
+ var gdjs;(function(i){i.PixiFiltersTools.registerFilterCreator("Bevel",new class extends i.PixiFiltersTools.PixiFilterCreator{makePIXIFilter(r,e){return new PIXI.filters.BevelFilter}updatePreRender(r,e){}updateDoubleParameter(r,e,t){const l=r;e==="rotation"?l.rotation=t:e==="thickness"?l.thickness=t:e==="distance"?l.distance=t:e==="lightAlpha"?l.lightAlpha=t:e==="shadowAlpha"&&(l.shadowAlpha=t)}getDoubleParameter(r,e){const t=r;return e==="rotation"?t.rotation:e==="thickness"?t.thickness:e==="distance"?t.distance:e==="lightAlpha"?t.lightAlpha:e==="shadowAlpha"?t.shadowAlpha:0}updateStringParameter(r,e,t){const l=r;e==="lightColor"&&(l.lightColor=i.rgbOrHexStringToNumber(t)),e==="shadowColor"&&(l.shadowColor=i.rgbOrHexStringToNumber(t))}updateColorParameter(r,e,t){const l=r;e==="lightColor"&&(l.lightColor=t),e==="shadowColor"&&(l.shadowColor=t)}getColorParameter(r,e){const t=r;return e==="lightColor"?t.lightColor:e==="shadowColor"?t.shadowColor:0}updateBooleanParameter(r,e,t){}getNetworkSyncData(r){const e=r;return{r:e.rotation,t:e.thickness,d:e.distance,la:e.lightAlpha,sa:e.shadowAlpha,lc:e.lightColor,sc:e.shadowColor}}updateFromNetworkSyncData(r,e){const t=r;t.rotation=e.r,t.thickness=e.t,t.distance=e.d,t.lightAlpha=e.la,t.shadowAlpha=e.sa,t.lightColor=e.lc,t.shadowColor=e.sc}})})(gdjs||(gdjs={}));
2
2
  //# sourceMappingURL=bevel-pixi-filter.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/bevel-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface BevelFilterExtra {\n /** It's defined for the configuration but not for the filter. */\n distance: number;\n }\n interface BevelFilterNetworkSyncData {\n r: number;\n t: number;\n d: number;\n la: number;\n sa: number;\n lc: number;\n sc: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'Bevel',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const bevelFilter = new PIXI.filters.BevelFilter();\n return bevelFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const bevelFilter = (filter as unknown) as PIXI.filters.BevelFilter &\n BevelFilterExtra;\n if (parameterName === 'rotation') {\n bevelFilter.rotation = value;\n } else if (parameterName === 'thickness') {\n bevelFilter.thickness = value;\n } else if (parameterName === 'distance') {\n bevelFilter.distance = value;\n } else if (parameterName === 'lightAlpha') {\n bevelFilter.lightAlpha = value;\n } else if (parameterName === 'shadowAlpha') {\n bevelFilter.shadowAlpha = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const bevelFilter = (filter as unknown) as PIXI.filters.BevelFilter &\n BevelFilterExtra;\n if (parameterName === 'rotation') {\n return bevelFilter.rotation;\n }\n if (parameterName === 'thickness') {\n return bevelFilter.thickness;\n }\n if (parameterName === 'distance') {\n return bevelFilter.distance;\n }\n if (parameterName === 'lightAlpha') {\n return bevelFilter.lightAlpha;\n }\n if (parameterName === 'shadowAlpha') {\n return bevelFilter.shadowAlpha;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {\n const bevelFilter = (filter as unknown) as PIXI.filters.BevelFilter &\n BevelFilterExtra;\n if (parameterName === 'lightColor') {\n bevelFilter.lightColor = gdjs.PixiFiltersTools.rgbOrHexToHexNumber(\n value\n );\n }\n if (parameterName === 'shadowColor') {\n bevelFilter.shadowColor = gdjs.PixiFiltersTools.rgbOrHexToHexNumber(\n value\n );\n }\n }\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {\n const bevelFilter = (filter as unknown) as PIXI.filters.BevelFilter &\n BevelFilterExtra;\n if (parameterName === 'lightColor') {\n bevelFilter.lightColor = value;\n }\n if (parameterName === 'shadowColor') {\n bevelFilter.shadowColor = value;\n }\n }\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n const bevelFilter = (filter as unknown) as PIXI.filters.BevelFilter;\n if (parameterName === 'lightColor') {\n return bevelFilter.lightColor;\n }\n if (parameterName === 'shadowColor') {\n return bevelFilter.shadowColor;\n }\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): BevelFilterNetworkSyncData {\n const bevelFilter = (filter as unknown) as PIXI.filters.BevelFilter &\n BevelFilterExtra;\n return {\n r: bevelFilter.rotation,\n t: bevelFilter.thickness,\n d: bevelFilter.distance,\n la: bevelFilter.lightAlpha,\n sa: bevelFilter.shadowAlpha,\n lc: bevelFilter.lightColor,\n sc: bevelFilter.shadowColor,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: BevelFilterNetworkSyncData\n ) {\n const bevelFilter = (filter as unknown) as PIXI.filters.BevelFilter &\n BevelFilterExtra;\n bevelFilter.rotation = data.r;\n bevelFilter.thickness = data.t;\n bevelFilter.distance = data.d;\n bevelFilter.lightAlpha = data.la;\n bevelFilter.shadowAlpha = data.sa;\n bevelFilter.lightColor = data.lc;\n bevelFilter.shadowColor = data.sc;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAcE,EAAK,iBAAiB,sBACpB,QACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MADoB,IAAI,MAAK,QAAQ,YAGvC,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAe,EAErB,AAAI,IAAkB,WACpB,EAAY,SAAW,EAClB,AAAI,IAAkB,YAC3B,EAAY,UAAY,EACnB,AAAI,IAAkB,WAC3B,EAAY,SAAW,EAClB,AAAI,IAAkB,aAC3B,EAAY,WAAa,EAChB,IAAkB,eAC3B,GAAY,YAAc,GAG9B,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAe,EAErB,MAAI,KAAkB,WACb,EAAY,SAEjB,IAAkB,YACb,EAAY,UAEjB,IAAkB,WACb,EAAY,SAEjB,IAAkB,aACb,EAAY,WAEjB,IAAkB,cACb,EAAY,YAEd,EAET,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAe,EAErB,AAAI,IAAkB,cACpB,GAAY,WAAa,EAAK,iBAAiB,oBAC7C,IAGA,IAAkB,eACpB,GAAY,YAAc,EAAK,iBAAiB,oBAC9C,IAIN,qBACE,EACA,EACA,EACM,CACN,KAAM,GAAe,EAErB,AAAI,IAAkB,cACpB,GAAY,WAAa,GAEvB,IAAkB,eACpB,GAAY,YAAc,GAG9B,kBAAkB,EAAqB,EAA+B,CACpE,KAAM,GAAe,EACrB,MAAI,KAAkB,aACb,EAAY,WAEjB,IAAkB,cACb,EAAY,YAEd,EAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAiD,CAClE,KAAM,GAAe,EAErB,MAAO,CACL,EAAG,EAAY,SACf,EAAG,EAAY,UACf,EAAG,EAAY,SACf,GAAI,EAAY,WAChB,GAAI,EAAY,YAChB,GAAI,EAAY,WAChB,GAAI,EAAY,aAGpB,0BACE,EACA,EACA,CACA,KAAM,GAAe,EAErB,EAAY,SAAW,EAAK,EAC5B,EAAY,UAAY,EAAK,EAC7B,EAAY,SAAW,EAAK,EAC5B,EAAY,WAAa,EAAK,GAC9B,EAAY,YAAc,EAAK,GAC/B,EAAY,WAAa,EAAK,GAC9B,EAAY,YAAc,EAAK,QArI7B",
4
+ "sourcesContent": ["namespace gdjs {\n interface BevelFilterExtra {\n /** It's defined for the configuration but not for the filter. */\n distance: number;\n }\n interface BevelFilterNetworkSyncData {\n r: number;\n t: number;\n d: number;\n la: number;\n sa: number;\n lc: number;\n sc: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'Bevel',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const bevelFilter = new PIXI.filters.BevelFilter();\n return bevelFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const bevelFilter = (filter as unknown) as PIXI.filters.BevelFilter &\n BevelFilterExtra;\n if (parameterName === 'rotation') {\n bevelFilter.rotation = value;\n } else if (parameterName === 'thickness') {\n bevelFilter.thickness = value;\n } else if (parameterName === 'distance') {\n bevelFilter.distance = value;\n } else if (parameterName === 'lightAlpha') {\n bevelFilter.lightAlpha = value;\n } else if (parameterName === 'shadowAlpha') {\n bevelFilter.shadowAlpha = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const bevelFilter = (filter as unknown) as PIXI.filters.BevelFilter &\n BevelFilterExtra;\n if (parameterName === 'rotation') {\n return bevelFilter.rotation;\n }\n if (parameterName === 'thickness') {\n return bevelFilter.thickness;\n }\n if (parameterName === 'distance') {\n return bevelFilter.distance;\n }\n if (parameterName === 'lightAlpha') {\n return bevelFilter.lightAlpha;\n }\n if (parameterName === 'shadowAlpha') {\n return bevelFilter.shadowAlpha;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {\n const bevelFilter = (filter as unknown) as PIXI.filters.BevelFilter &\n BevelFilterExtra;\n if (parameterName === 'lightColor') {\n bevelFilter.lightColor = gdjs.rgbOrHexStringToNumber(value);\n }\n if (parameterName === 'shadowColor') {\n bevelFilter.shadowColor = gdjs.rgbOrHexStringToNumber(value);\n }\n }\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {\n const bevelFilter = (filter as unknown) as PIXI.filters.BevelFilter &\n BevelFilterExtra;\n if (parameterName === 'lightColor') {\n bevelFilter.lightColor = value;\n }\n if (parameterName === 'shadowColor') {\n bevelFilter.shadowColor = value;\n }\n }\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n const bevelFilter = (filter as unknown) as PIXI.filters.BevelFilter;\n if (parameterName === 'lightColor') {\n return bevelFilter.lightColor;\n }\n if (parameterName === 'shadowColor') {\n return bevelFilter.shadowColor;\n }\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): BevelFilterNetworkSyncData {\n const bevelFilter = (filter as unknown) as PIXI.filters.BevelFilter &\n BevelFilterExtra;\n return {\n r: bevelFilter.rotation,\n t: bevelFilter.thickness,\n d: bevelFilter.distance,\n la: bevelFilter.lightAlpha,\n sa: bevelFilter.shadowAlpha,\n lc: bevelFilter.lightColor,\n sc: bevelFilter.shadowColor,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: BevelFilterNetworkSyncData\n ) {\n const bevelFilter = (filter as unknown) as PIXI.filters.BevelFilter &\n BevelFilterExtra;\n bevelFilter.rotation = data.r;\n bevelFilter.thickness = data.t;\n bevelFilter.distance = data.d;\n bevelFilter.lightAlpha = data.la;\n bevelFilter.shadowAlpha = data.sa;\n bevelFilter.lightColor = data.lc;\n bevelFilter.shadowColor = data.sc;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAcE,EAAK,iBAAiB,sBACpB,QACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MADoB,IAAI,MAAK,QAAQ,YAGvC,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAe,EAErB,AAAI,IAAkB,WACpB,EAAY,SAAW,EAClB,AAAI,IAAkB,YAC3B,EAAY,UAAY,EACnB,AAAI,IAAkB,WAC3B,EAAY,SAAW,EAClB,AAAI,IAAkB,aAC3B,EAAY,WAAa,EAChB,IAAkB,eAC3B,GAAY,YAAc,GAG9B,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAe,EAErB,MAAI,KAAkB,WACb,EAAY,SAEjB,IAAkB,YACb,EAAY,UAEjB,IAAkB,WACb,EAAY,SAEjB,IAAkB,aACb,EAAY,WAEjB,IAAkB,cACb,EAAY,YAEd,EAET,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAe,EAErB,AAAI,IAAkB,cACpB,GAAY,WAAa,EAAK,uBAAuB,IAEnD,IAAkB,eACpB,GAAY,YAAc,EAAK,uBAAuB,IAG1D,qBACE,EACA,EACA,EACM,CACN,KAAM,GAAe,EAErB,AAAI,IAAkB,cACpB,GAAY,WAAa,GAEvB,IAAkB,eACpB,GAAY,YAAc,GAG9B,kBAAkB,EAAqB,EAA+B,CACpE,KAAM,GAAe,EACrB,MAAI,KAAkB,aACb,EAAY,WAEjB,IAAkB,cACb,EAAY,YAEd,EAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAiD,CAClE,KAAM,GAAe,EAErB,MAAO,CACL,EAAG,EAAY,SACf,EAAG,EAAY,UACf,EAAG,EAAY,SACf,GAAI,EAAY,WAChB,GAAI,EAAY,YAChB,GAAI,EAAY,WAChB,GAAI,EAAY,aAGpB,0BACE,EACA,EACA,CACA,KAAM,GAAe,EAErB,EAAY,SAAW,EAAK,EAC5B,EAAY,UAAY,EAAK,EAC7B,EAAY,SAAW,EAAK,EAC5B,EAAY,WAAa,EAAK,GAC9B,EAAY,YAAc,EAAK,GAC/B,EAAY,WAAa,EAAK,GAC9B,EAAY,YAAc,EAAK,QAjI7B",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- var gdjs;(function(t){t.PixiFiltersTools.registerFilterCreator("ColorReplace",new class extends t.PixiFiltersTools.PixiFilterCreator{makePIXIFilter(l,e){return new PIXI.filters.ColorReplaceFilter}updatePreRender(l,e){}updateDoubleParameter(l,e,r){const o=l;e==="epsilon"&&(o.epsilon=r)}getDoubleParameter(l,e){const r=l;return e==="epsilon"?r.epsilon:0}updateStringParameter(l,e,r){const o=l;e==="originalColor"?o.originalColor=t.PixiFiltersTools.rgbOrHexToHexNumber(r):e==="newColor"&&(o.newColor=t.PixiFiltersTools.rgbOrHexToHexNumber(r))}updateColorParameter(l,e,r){const o=l;e==="originalColor"?o.originalColor=r:e==="newColor"&&(o.newColor=r)}getColorParameter(l,e){const r=l;return e==="originalColor"?r.originalColor:e==="newColor"?r.newColor:0}updateBooleanParameter(l,e,r){}getNetworkSyncData(l){const e=l;return{e:e.epsilon,oc:e.originalColor,nc:e.newColor}}updateFromNetworkSyncData(l,e){const r=l;r.epsilon=e.e,r.originalColor=e.oc,r.newColor=e.nc}})})(gdjs||(gdjs={}));
1
+ var gdjs;(function(t){t.PixiFiltersTools.registerFilterCreator("ColorReplace",new class extends t.PixiFiltersTools.PixiFilterCreator{makePIXIFilter(l,e){return new PIXI.filters.ColorReplaceFilter}updatePreRender(l,e){}updateDoubleParameter(l,e,r){const o=l;e==="epsilon"&&(o.epsilon=r)}getDoubleParameter(l,e){const r=l;return e==="epsilon"?r.epsilon:0}updateStringParameter(l,e,r){const o=l;e==="originalColor"?o.originalColor=t.rgbOrHexStringToNumber(r):e==="newColor"&&(o.newColor=t.rgbOrHexStringToNumber(r))}updateColorParameter(l,e,r){const o=l;e==="originalColor"?o.originalColor=r:e==="newColor"&&(o.newColor=r)}getColorParameter(l,e){const r=l;return e==="originalColor"?r.originalColor:e==="newColor"?r.newColor:0}updateBooleanParameter(l,e,r){}getNetworkSyncData(l){const e=l;return{e:e.epsilon,oc:e.originalColor,nc:e.newColor}}updateFromNetworkSyncData(l,e){const r=l;r.epsilon=e.e,r.originalColor=e.oc,r.newColor=e.nc}})})(gdjs||(gdjs={}));
2
2
  //# sourceMappingURL=color-replace-pixi-filter.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/color-replace-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface ColorReplaceFilterExtra {\n /** It's only set to a number. */\n originalColor: number;\n /** It's only set to a number. */\n newColor: number;\n }\n interface ColorReplaceFilterNetworkSyncData {\n e: number;\n oc: number;\n nc: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'ColorReplace',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const colorReplaceFilter = new PIXI.filters.ColorReplaceFilter();\n return colorReplaceFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const colorReplaceFilter = (filter as unknown) as PIXI.filters.ColorReplaceFilter &\n ColorReplaceFilterExtra;\n if (parameterName === 'epsilon') {\n colorReplaceFilter.epsilon = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const colorReplaceFilter = (filter as unknown) as PIXI.filters.ColorReplaceFilter &\n ColorReplaceFilterExtra;\n if (parameterName === 'epsilon') {\n return colorReplaceFilter.epsilon;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {\n const colorReplaceFilter = (filter as unknown) as PIXI.filters.ColorReplaceFilter &\n ColorReplaceFilterExtra;\n if (parameterName === 'originalColor') {\n colorReplaceFilter.originalColor = gdjs.PixiFiltersTools.rgbOrHexToHexNumber(\n value\n );\n } else if (parameterName === 'newColor') {\n colorReplaceFilter.newColor = gdjs.PixiFiltersTools.rgbOrHexToHexNumber(\n value\n );\n }\n }\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {\n const colorReplaceFilter = (filter as unknown) as PIXI.filters.ColorReplaceFilter &\n ColorReplaceFilterExtra;\n if (parameterName === 'originalColor') {\n colorReplaceFilter.originalColor = value;\n } else if (parameterName === 'newColor') {\n colorReplaceFilter.newColor = value;\n }\n }\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n const colorReplaceFilter = (filter as unknown) as PIXI.filters.ColorReplaceFilter &\n ColorReplaceFilterExtra;\n if (parameterName === 'originalColor') {\n return colorReplaceFilter.originalColor;\n } else if (parameterName === 'newColor') {\n return colorReplaceFilter.newColor;\n }\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(\n filter: PIXI.Filter\n ): ColorReplaceFilterNetworkSyncData {\n const colorReplaceFilter = (filter as unknown) as PIXI.filters.ColorReplaceFilter &\n ColorReplaceFilterExtra;\n return {\n e: colorReplaceFilter.epsilon,\n oc: colorReplaceFilter.originalColor,\n nc: colorReplaceFilter.newColor,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: ColorReplaceFilterNetworkSyncData\n ) {\n const colorReplaceFilter = (filter as unknown) as PIXI.filters.ColorReplaceFilter &\n ColorReplaceFilterExtra;\n colorReplaceFilter.epsilon = data.e;\n colorReplaceFilter.originalColor = data.oc;\n colorReplaceFilter.newColor = data.nc;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAYE,EAAK,iBAAiB,sBACpB,eACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MAD2B,IAAI,MAAK,QAAQ,mBAG9C,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAsB,EAE5B,AAAI,IAAkB,WACpB,GAAmB,QAAU,GAGjC,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAsB,EAE5B,MAAI,KAAkB,UACb,EAAmB,QAErB,EAET,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAsB,EAE5B,AAAI,IAAkB,gBACpB,EAAmB,cAAgB,EAAK,iBAAiB,oBACvD,GAEO,IAAkB,YAC3B,GAAmB,SAAW,EAAK,iBAAiB,oBAClD,IAIN,qBACE,EACA,EACA,EACM,CACN,KAAM,GAAsB,EAE5B,AAAI,IAAkB,gBACpB,EAAmB,cAAgB,EAC1B,IAAkB,YAC3B,GAAmB,SAAW,GAGlC,kBAAkB,EAAqB,EAA+B,CACpE,KAAM,GAAsB,EAE5B,MAAI,KAAkB,gBACb,EAAmB,cACjB,IAAkB,WACpB,EAAmB,SAErB,EAET,uBACE,EACA,EACA,EACA,EACF,mBACE,EACmC,CACnC,KAAM,GAAsB,EAE5B,MAAO,CACL,EAAG,EAAmB,QACtB,GAAI,EAAmB,cACvB,GAAI,EAAmB,UAG3B,0BACE,EACA,EACA,CACA,KAAM,GAAsB,EAE5B,EAAmB,QAAU,EAAK,EAClC,EAAmB,cAAgB,EAAK,GACxC,EAAmB,SAAW,EAAK,QAvGjC",
4
+ "sourcesContent": ["namespace gdjs {\n interface ColorReplaceFilterExtra {\n /** It's only set to a number. */\n originalColor: number;\n /** It's only set to a number. */\n newColor: number;\n }\n interface ColorReplaceFilterNetworkSyncData {\n e: number;\n oc: number;\n nc: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'ColorReplace',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const colorReplaceFilter = new PIXI.filters.ColorReplaceFilter();\n return colorReplaceFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const colorReplaceFilter = (filter as unknown) as PIXI.filters.ColorReplaceFilter &\n ColorReplaceFilterExtra;\n if (parameterName === 'epsilon') {\n colorReplaceFilter.epsilon = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const colorReplaceFilter = (filter as unknown) as PIXI.filters.ColorReplaceFilter &\n ColorReplaceFilterExtra;\n if (parameterName === 'epsilon') {\n return colorReplaceFilter.epsilon;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {\n const colorReplaceFilter = (filter as unknown) as PIXI.filters.ColorReplaceFilter &\n ColorReplaceFilterExtra;\n if (parameterName === 'originalColor') {\n colorReplaceFilter.originalColor = gdjs.rgbOrHexStringToNumber(value);\n } else if (parameterName === 'newColor') {\n colorReplaceFilter.newColor = gdjs.rgbOrHexStringToNumber(value);\n }\n }\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {\n const colorReplaceFilter = (filter as unknown) as PIXI.filters.ColorReplaceFilter &\n ColorReplaceFilterExtra;\n if (parameterName === 'originalColor') {\n colorReplaceFilter.originalColor = value;\n } else if (parameterName === 'newColor') {\n colorReplaceFilter.newColor = value;\n }\n }\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n const colorReplaceFilter = (filter as unknown) as PIXI.filters.ColorReplaceFilter &\n ColorReplaceFilterExtra;\n if (parameterName === 'originalColor') {\n return colorReplaceFilter.originalColor;\n } else if (parameterName === 'newColor') {\n return colorReplaceFilter.newColor;\n }\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(\n filter: PIXI.Filter\n ): ColorReplaceFilterNetworkSyncData {\n const colorReplaceFilter = (filter as unknown) as PIXI.filters.ColorReplaceFilter &\n ColorReplaceFilterExtra;\n return {\n e: colorReplaceFilter.epsilon,\n oc: colorReplaceFilter.originalColor,\n nc: colorReplaceFilter.newColor,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: ColorReplaceFilterNetworkSyncData\n ) {\n const colorReplaceFilter = (filter as unknown) as PIXI.filters.ColorReplaceFilter &\n ColorReplaceFilterExtra;\n colorReplaceFilter.epsilon = data.e;\n colorReplaceFilter.originalColor = data.oc;\n colorReplaceFilter.newColor = data.nc;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAYE,EAAK,iBAAiB,sBACpB,eACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MAD2B,IAAI,MAAK,QAAQ,mBAG9C,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAsB,EAE5B,AAAI,IAAkB,WACpB,GAAmB,QAAU,GAGjC,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAsB,EAE5B,MAAI,KAAkB,UACb,EAAmB,QAErB,EAET,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAsB,EAE5B,AAAI,IAAkB,gBACpB,EAAmB,cAAgB,EAAK,uBAAuB,GACtD,IAAkB,YAC3B,GAAmB,SAAW,EAAK,uBAAuB,IAG9D,qBACE,EACA,EACA,EACM,CACN,KAAM,GAAsB,EAE5B,AAAI,IAAkB,gBACpB,EAAmB,cAAgB,EAC1B,IAAkB,YAC3B,GAAmB,SAAW,GAGlC,kBAAkB,EAAqB,EAA+B,CACpE,KAAM,GAAsB,EAE5B,MAAI,KAAkB,gBACb,EAAmB,cACjB,IAAkB,WACpB,EAAmB,SAErB,EAET,uBACE,EACA,EACA,EACA,EACF,mBACE,EACmC,CACnC,KAAM,GAAsB,EAE5B,MAAO,CACL,EAAG,EAAmB,QACtB,GAAI,EAAmB,cACvB,GAAI,EAAmB,UAG3B,0BACE,EACA,EACA,CACA,KAAM,GAAsB,EAE5B,EAAmB,QAAU,EAAK,EAClC,EAAmB,cAAgB,EAAK,GACxC,EAAmB,SAAW,EAAK,QAnGjC",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- var gdjs;(function(i){i.PixiFiltersTools.registerFilterCreator("DropShadow",new class extends i.PixiFiltersTools.PixiFilterCreator{makePIXIFilter(t,r){return new PIXI.filters.DropShadowFilter}updatePreRender(t,r){}updateDoubleParameter(t,r,o){const e=t;r==="blur"?e.blur=o:r==="quality"?e.quality=o:r==="alpha"?e.alpha=o:r==="distance"?e.distance=o:r==="rotation"?e.rotation=o:r==="padding"&&(e.padding=o)}getDoubleParameter(t,r){const o=t;return r==="blur"?o.blur:r==="quality"?o.quality:r==="alpha"?o.alpha:r==="distance"?o.distance:r==="rotation"?o.rotation:r==="padding"?o.padding:0}updateStringParameter(t,r,o){const e=t;r==="color"&&(e.color=i.PixiFiltersTools.rgbOrHexToHexNumber(o))}updateColorParameter(t,r,o){const e=t;r==="color"&&(e.color=o)}getColorParameter(t,r){const o=t;return r==="color"?o.color:0}updateBooleanParameter(t,r,o){const e=t;r==="shadowOnly"&&(e.shadowOnly=o)}getNetworkSyncData(t){const r=t;return{b:r.blur,q:r.quality,a:r.alpha,d:r.distance,r:r.rotation,p:r.padding,c:r.color,so:r.shadowOnly}}updateFromNetworkSyncData(t,r){const o=t;o.blur=r.b,o.quality=r.q,o.alpha=r.a,o.distance=r.d,o.rotation=r.r,o.padding=r.p,o.color=r.c,o.shadowOnly=r.so}})})(gdjs||(gdjs={}));
1
+ var gdjs;(function(i){i.PixiFiltersTools.registerFilterCreator("DropShadow",new class extends i.PixiFiltersTools.PixiFilterCreator{makePIXIFilter(t,r){return new PIXI.filters.DropShadowFilter}updatePreRender(t,r){}updateDoubleParameter(t,r,o){const e=t;r==="blur"?e.blur=o:r==="quality"?e.quality=o:r==="alpha"?e.alpha=o:r==="distance"?e.distance=o:r==="rotation"?e.rotation=o:r==="padding"&&(e.padding=o)}getDoubleParameter(t,r){const o=t;return r==="blur"?o.blur:r==="quality"?o.quality:r==="alpha"?o.alpha:r==="distance"?o.distance:r==="rotation"?o.rotation:r==="padding"?o.padding:0}updateStringParameter(t,r,o){const e=t;r==="color"&&(e.color=i.rgbOrHexStringToNumber(o))}updateColorParameter(t,r,o){const e=t;r==="color"&&(e.color=o)}getColorParameter(t,r){const o=t;return r==="color"?o.color:0}updateBooleanParameter(t,r,o){const e=t;r==="shadowOnly"&&(e.shadowOnly=o)}getNetworkSyncData(t){const r=t;return{b:r.blur,q:r.quality,a:r.alpha,d:r.distance,r:r.rotation,p:r.padding,c:r.color,so:r.shadowOnly}}updateFromNetworkSyncData(t,r){const o=t;o.blur=r.b,o.quality=r.q,o.alpha=r.a,o.distance=r.d,o.rotation=r.r,o.padding=r.p,o.color=r.c,o.shadowOnly=r.so}})})(gdjs||(gdjs={}));
2
2
  //# sourceMappingURL=drop-shadow-pixi-filter.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/drop-shadow-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface DropShadowFilterNetworkSyncData {\n b: number;\n q: number;\n a: number;\n d: number;\n r: number;\n p: number;\n c: number;\n so: boolean;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'DropShadow',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const dropShadowFilter = new PIXI.filters.DropShadowFilter();\n return dropShadowFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n if (parameterName === 'blur') {\n dropShadowFilter.blur = value;\n } else if (parameterName === 'quality') {\n dropShadowFilter.quality = value;\n } else if (parameterName === 'alpha') {\n dropShadowFilter.alpha = value;\n } else if (parameterName === 'distance') {\n dropShadowFilter.distance = value;\n } else if (parameterName === 'rotation') {\n dropShadowFilter.rotation = value;\n } else if (parameterName === 'padding') {\n dropShadowFilter.padding = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n if (parameterName === 'blur') {\n return dropShadowFilter.blur;\n }\n if (parameterName === 'quality') {\n return dropShadowFilter.quality;\n }\n if (parameterName === 'alpha') {\n return dropShadowFilter.alpha;\n }\n if (parameterName === 'distance') {\n return dropShadowFilter.distance;\n }\n if (parameterName === 'rotation') {\n return dropShadowFilter.rotation;\n }\n if (parameterName === 'padding') {\n return dropShadowFilter.padding;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n if (parameterName === 'color') {\n dropShadowFilter.color = gdjs.PixiFiltersTools.rgbOrHexToHexNumber(\n value\n );\n }\n }\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n if (parameterName === 'color') {\n dropShadowFilter.color = value;\n }\n }\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n if (parameterName === 'color') {\n return dropShadowFilter.color;\n }\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n if (parameterName === 'shadowOnly') {\n dropShadowFilter.shadowOnly = value;\n }\n }\n getNetworkSyncData(filter: PIXI.Filter): DropShadowFilterNetworkSyncData {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n return {\n b: dropShadowFilter.blur,\n q: dropShadowFilter.quality,\n a: dropShadowFilter.alpha,\n d: dropShadowFilter.distance,\n r: dropShadowFilter.rotation,\n p: dropShadowFilter.padding,\n c: dropShadowFilter.color,\n so: dropShadowFilter.shadowOnly,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: DropShadowFilterNetworkSyncData\n ) {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n dropShadowFilter.blur = data.b;\n dropShadowFilter.quality = data.q;\n dropShadowFilter.alpha = data.a;\n dropShadowFilter.distance = data.d;\n dropShadowFilter.rotation = data.r;\n dropShadowFilter.padding = data.p;\n dropShadowFilter.color = data.c;\n dropShadowFilter.shadowOnly = data.so;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAWE,EAAK,iBAAiB,sBACpB,aACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MADyB,IAAI,MAAK,QAAQ,iBAG5C,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAoB,EAC1B,AAAI,IAAkB,OACpB,EAAiB,KAAO,EACnB,AAAI,IAAkB,UAC3B,EAAiB,QAAU,EACtB,AAAI,IAAkB,QAC3B,EAAiB,MAAQ,EACpB,AAAI,IAAkB,WAC3B,EAAiB,SAAW,EACvB,AAAI,IAAkB,WAC3B,EAAiB,SAAW,EACnB,IAAkB,WAC3B,GAAiB,QAAU,GAG/B,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAoB,EAC1B,MAAI,KAAkB,OACb,EAAiB,KAEtB,IAAkB,UACb,EAAiB,QAEtB,IAAkB,QACb,EAAiB,MAEtB,IAAkB,WACb,EAAiB,SAEtB,IAAkB,WACb,EAAiB,SAEtB,IAAkB,UACb,EAAiB,QAEnB,EAET,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAoB,EAC1B,AAAI,IAAkB,SACpB,GAAiB,MAAQ,EAAK,iBAAiB,oBAC7C,IAIN,qBACE,EACA,EACA,EACM,CACN,KAAM,GAAoB,EAC1B,AAAI,IAAkB,SACpB,GAAiB,MAAQ,GAG7B,kBAAkB,EAAqB,EAA+B,CACpE,KAAM,GAAoB,EAC1B,MAAI,KAAkB,QACb,EAAiB,MAEnB,EAET,uBACE,EACA,EACA,EACA,CACA,KAAM,GAAoB,EAC1B,AAAI,IAAkB,cACpB,GAAiB,WAAa,GAGlC,mBAAmB,EAAsD,CACvE,KAAM,GAAoB,EAC1B,MAAO,CACL,EAAG,EAAiB,KACpB,EAAG,EAAiB,QACpB,EAAG,EAAiB,MACpB,EAAG,EAAiB,SACpB,EAAG,EAAiB,SACpB,EAAG,EAAiB,QACpB,EAAG,EAAiB,MACpB,GAAI,EAAiB,YAGzB,0BACE,EACA,EACA,CACA,KAAM,GAAoB,EAC1B,EAAiB,KAAO,EAAK,EAC7B,EAAiB,QAAU,EAAK,EAChC,EAAiB,MAAQ,EAAK,EAC9B,EAAiB,SAAW,EAAK,EACjC,EAAiB,SAAW,EAAK,EACjC,EAAiB,QAAU,EAAK,EAChC,EAAiB,MAAQ,EAAK,EAC9B,EAAiB,WAAa,EAAK,QA7HjC",
4
+ "sourcesContent": ["namespace gdjs {\n interface DropShadowFilterNetworkSyncData {\n b: number;\n q: number;\n a: number;\n d: number;\n r: number;\n p: number;\n c: number;\n so: boolean;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'DropShadow',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const dropShadowFilter = new PIXI.filters.DropShadowFilter();\n return dropShadowFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n if (parameterName === 'blur') {\n dropShadowFilter.blur = value;\n } else if (parameterName === 'quality') {\n dropShadowFilter.quality = value;\n } else if (parameterName === 'alpha') {\n dropShadowFilter.alpha = value;\n } else if (parameterName === 'distance') {\n dropShadowFilter.distance = value;\n } else if (parameterName === 'rotation') {\n dropShadowFilter.rotation = value;\n } else if (parameterName === 'padding') {\n dropShadowFilter.padding = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n if (parameterName === 'blur') {\n return dropShadowFilter.blur;\n }\n if (parameterName === 'quality') {\n return dropShadowFilter.quality;\n }\n if (parameterName === 'alpha') {\n return dropShadowFilter.alpha;\n }\n if (parameterName === 'distance') {\n return dropShadowFilter.distance;\n }\n if (parameterName === 'rotation') {\n return dropShadowFilter.rotation;\n }\n if (parameterName === 'padding') {\n return dropShadowFilter.padding;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n if (parameterName === 'color') {\n dropShadowFilter.color = gdjs.rgbOrHexStringToNumber(value);\n }\n }\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n if (parameterName === 'color') {\n dropShadowFilter.color = value;\n }\n }\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n if (parameterName === 'color') {\n return dropShadowFilter.color;\n }\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n if (parameterName === 'shadowOnly') {\n dropShadowFilter.shadowOnly = value;\n }\n }\n getNetworkSyncData(filter: PIXI.Filter): DropShadowFilterNetworkSyncData {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n return {\n b: dropShadowFilter.blur,\n q: dropShadowFilter.quality,\n a: dropShadowFilter.alpha,\n d: dropShadowFilter.distance,\n r: dropShadowFilter.rotation,\n p: dropShadowFilter.padding,\n c: dropShadowFilter.color,\n so: dropShadowFilter.shadowOnly,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: DropShadowFilterNetworkSyncData\n ) {\n const dropShadowFilter = (filter as unknown) as PIXI.filters.DropShadowFilter;\n dropShadowFilter.blur = data.b;\n dropShadowFilter.quality = data.q;\n dropShadowFilter.alpha = data.a;\n dropShadowFilter.distance = data.d;\n dropShadowFilter.rotation = data.r;\n dropShadowFilter.padding = data.p;\n dropShadowFilter.color = data.c;\n dropShadowFilter.shadowOnly = data.so;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAWE,EAAK,iBAAiB,sBACpB,aACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MADyB,IAAI,MAAK,QAAQ,iBAG5C,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAoB,EAC1B,AAAI,IAAkB,OACpB,EAAiB,KAAO,EACnB,AAAI,IAAkB,UAC3B,EAAiB,QAAU,EACtB,AAAI,IAAkB,QAC3B,EAAiB,MAAQ,EACpB,AAAI,IAAkB,WAC3B,EAAiB,SAAW,EACvB,AAAI,IAAkB,WAC3B,EAAiB,SAAW,EACnB,IAAkB,WAC3B,GAAiB,QAAU,GAG/B,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAoB,EAC1B,MAAI,KAAkB,OACb,EAAiB,KAEtB,IAAkB,UACb,EAAiB,QAEtB,IAAkB,QACb,EAAiB,MAEtB,IAAkB,WACb,EAAiB,SAEtB,IAAkB,WACb,EAAiB,SAEtB,IAAkB,UACb,EAAiB,QAEnB,EAET,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAoB,EAC1B,AAAI,IAAkB,SACpB,GAAiB,MAAQ,EAAK,uBAAuB,IAGzD,qBACE,EACA,EACA,EACM,CACN,KAAM,GAAoB,EAC1B,AAAI,IAAkB,SACpB,GAAiB,MAAQ,GAG7B,kBAAkB,EAAqB,EAA+B,CACpE,KAAM,GAAoB,EAC1B,MAAI,KAAkB,QACb,EAAiB,MAEnB,EAET,uBACE,EACA,EACA,EACA,CACA,KAAM,GAAoB,EAC1B,AAAI,IAAkB,cACpB,GAAiB,WAAa,GAGlC,mBAAmB,EAAsD,CACvE,KAAM,GAAoB,EAC1B,MAAO,CACL,EAAG,EAAiB,KACpB,EAAG,EAAiB,QACpB,EAAG,EAAiB,MACpB,EAAG,EAAiB,SACpB,EAAG,EAAiB,SACpB,EAAG,EAAiB,QACpB,EAAG,EAAiB,MACpB,GAAI,EAAiB,YAGzB,0BACE,EACA,EACA,CACA,KAAM,GAAoB,EAC1B,EAAiB,KAAO,EAAK,EAC7B,EAAiB,QAAU,EAAK,EAChC,EAAiB,MAAQ,EAAK,EAC9B,EAAiB,SAAW,EAAK,EACjC,EAAiB,SAAW,EAAK,EACjC,EAAiB,QAAU,EAAK,EAChC,EAAiB,MAAQ,EAAK,EAC9B,EAAiB,WAAa,EAAK,QA3HjC",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- var gdjs;(function(i){i.PixiFiltersTools.registerFilterCreator("Glow",new class extends i.PixiFiltersTools.PixiFilterCreator{makePIXIFilter(e,r){return new PIXI.filters.GlowFilter}updatePreRender(e,r){}updateDoubleParameter(e,r,t){const l=e;r==="innerStrength"?l.innerStrength=t:r==="outerStrength"?l.outerStrength=t:r==="distance"&&(l.distance=t)}getDoubleParameter(e,r){const t=e;return r==="innerStrength"?t.innerStrength:r==="outerStrength"?t.outerStrength:r==="distance"?t.distance:0}updateStringParameter(e,r,t){const l=e;r==="color"&&(l.color=i.PixiFiltersTools.rgbOrHexToHexNumber(t))}updateColorParameter(e,r,t){const l=e;r==="color"&&(l.color=t)}getColorParameter(e,r){const t=e;return r==="color"?t.color:0}updateBooleanParameter(e,r,t){}getNetworkSyncData(e){const r=e;return{is:r.innerStrength,os:r.outerStrength,d:r.distance,c:r.color}}updateFromNetworkSyncData(e,r){const t=e;t.innerStrength=r.is,t.outerStrength=r.os,t.distance=r.d,t.color=r.c}})})(gdjs||(gdjs={}));
1
+ var gdjs;(function(l){l.PixiFiltersTools.registerFilterCreator("Glow",new class extends l.PixiFiltersTools.PixiFilterCreator{makePIXIFilter(e,r){return new PIXI.filters.GlowFilter}updatePreRender(e,r){}updateDoubleParameter(e,r,t){const n=e;r==="innerStrength"?n.innerStrength=t:r==="outerStrength"?n.outerStrength=t:r==="distance"&&(n.distance=t)}getDoubleParameter(e,r){const t=e;return r==="innerStrength"?t.innerStrength:r==="outerStrength"?t.outerStrength:r==="distance"?t.distance:0}updateStringParameter(e,r,t){const n=e;r==="color"&&(n.color=l.rgbOrHexStringToNumber(t))}updateColorParameter(e,r,t){const n=e;r==="color"&&(n.color=t)}getColorParameter(e,r){const t=e;return r==="color"?t.color:0}updateBooleanParameter(e,r,t){}getNetworkSyncData(e){const r=e;return{is:r.innerStrength,os:r.outerStrength,d:r.distance,c:r.color}}updateFromNetworkSyncData(e,r){const t=e;t.innerStrength=r.is,t.outerStrength=r.os,t.distance=r.d,t.color=r.c}})})(gdjs||(gdjs={}));
2
2
  //# sourceMappingURL=glow-pixi-filter.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/glow-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface GlowFilterExtra {\n distance: number;\n }\n interface GlowFilterNetworkSyncData {\n is: number;\n os: number;\n d: number;\n c: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'Glow',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const glowFilter = new PIXI.filters.GlowFilter();\n return glowFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const glowFilter = (filter as unknown) as PIXI.filters.GlowFilter &\n GlowFilterExtra;\n if (parameterName === 'innerStrength') {\n glowFilter.innerStrength = value;\n } else if (parameterName === 'outerStrength') {\n glowFilter.outerStrength = value;\n } else if (parameterName === 'distance') {\n glowFilter.distance = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const glowFilter = (filter as unknown) as PIXI.filters.GlowFilter &\n GlowFilterExtra;\n if (parameterName === 'innerStrength') {\n return glowFilter.innerStrength;\n }\n if (parameterName === 'outerStrength') {\n return glowFilter.outerStrength;\n }\n if (parameterName === 'distance') {\n return glowFilter.distance;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {\n const glowFilter = (filter as unknown) as PIXI.filters.GlowFilter &\n GlowFilterExtra;\n if (parameterName === 'color') {\n glowFilter.color = gdjs.PixiFiltersTools.rgbOrHexToHexNumber(value);\n }\n }\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {\n const glowFilter = (filter as unknown) as PIXI.filters.GlowFilter &\n GlowFilterExtra;\n if (parameterName === 'color') {\n glowFilter.color = value;\n }\n }\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n const glowFilter = (filter as unknown) as PIXI.filters.GlowFilter &\n GlowFilterExtra;\n if (parameterName === 'color') {\n return glowFilter.color;\n }\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): GlowFilterNetworkSyncData {\n const glowFilter = (filter as unknown) as PIXI.filters.GlowFilter &\n GlowFilterExtra;\n return {\n is: glowFilter.innerStrength,\n os: glowFilter.outerStrength,\n d: glowFilter.distance,\n c: glowFilter.color,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: GlowFilterNetworkSyncData\n ): void {\n const glowFilter = (filter as unknown) as PIXI.filters.GlowFilter &\n GlowFilterExtra;\n glowFilter.innerStrength = data.is;\n glowFilter.outerStrength = data.os;\n glowFilter.distance = data.d;\n glowFilter.color = data.c;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAUE,EAAK,iBAAiB,sBACpB,OACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MADmB,IAAI,MAAK,QAAQ,WAGtC,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAc,EAEpB,AAAI,IAAkB,gBACpB,EAAW,cAAgB,EACtB,AAAI,IAAkB,gBAC3B,EAAW,cAAgB,EAClB,IAAkB,YAC3B,GAAW,SAAW,GAG1B,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAc,EAEpB,MAAI,KAAkB,gBACb,EAAW,cAEhB,IAAkB,gBACb,EAAW,cAEhB,IAAkB,WACb,EAAW,SAEb,EAET,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAc,EAEpB,AAAI,IAAkB,SACpB,GAAW,MAAQ,EAAK,iBAAiB,oBAAoB,IAGjE,qBACE,EACA,EACA,EACM,CACN,KAAM,GAAc,EAEpB,AAAI,IAAkB,SACpB,GAAW,MAAQ,GAGvB,kBAAkB,EAAqB,EAA+B,CACpE,KAAM,GAAc,EAEpB,MAAI,KAAkB,QACb,EAAW,MAEb,EAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAgD,CACjE,KAAM,GAAc,EAEpB,MAAO,CACL,GAAI,EAAW,cACf,GAAI,EAAW,cACf,EAAG,EAAW,SACd,EAAG,EAAW,OAGlB,0BACE,EACA,EACM,CACN,KAAM,GAAc,EAEpB,EAAW,cAAgB,EAAK,GAChC,EAAW,cAAgB,EAAK,GAChC,EAAW,SAAW,EAAK,EAC3B,EAAW,MAAQ,EAAK,OArGtB",
4
+ "sourcesContent": ["namespace gdjs {\n interface GlowFilterExtra {\n distance: number;\n }\n interface GlowFilterNetworkSyncData {\n is: number;\n os: number;\n d: number;\n c: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'Glow',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const glowFilter = new PIXI.filters.GlowFilter();\n return glowFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const glowFilter = (filter as unknown) as PIXI.filters.GlowFilter &\n GlowFilterExtra;\n if (parameterName === 'innerStrength') {\n glowFilter.innerStrength = value;\n } else if (parameterName === 'outerStrength') {\n glowFilter.outerStrength = value;\n } else if (parameterName === 'distance') {\n glowFilter.distance = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const glowFilter = (filter as unknown) as PIXI.filters.GlowFilter &\n GlowFilterExtra;\n if (parameterName === 'innerStrength') {\n return glowFilter.innerStrength;\n }\n if (parameterName === 'outerStrength') {\n return glowFilter.outerStrength;\n }\n if (parameterName === 'distance') {\n return glowFilter.distance;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {\n const glowFilter = (filter as unknown) as PIXI.filters.GlowFilter &\n GlowFilterExtra;\n if (parameterName === 'color') {\n glowFilter.color = gdjs.rgbOrHexStringToNumber(value);\n }\n }\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {\n const glowFilter = (filter as unknown) as PIXI.filters.GlowFilter &\n GlowFilterExtra;\n if (parameterName === 'color') {\n glowFilter.color = value;\n }\n }\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n const glowFilter = (filter as unknown) as PIXI.filters.GlowFilter &\n GlowFilterExtra;\n if (parameterName === 'color') {\n return glowFilter.color;\n }\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): GlowFilterNetworkSyncData {\n const glowFilter = (filter as unknown) as PIXI.filters.GlowFilter &\n GlowFilterExtra;\n return {\n is: glowFilter.innerStrength,\n os: glowFilter.outerStrength,\n d: glowFilter.distance,\n c: glowFilter.color,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: GlowFilterNetworkSyncData\n ): void {\n const glowFilter = (filter as unknown) as PIXI.filters.GlowFilter &\n GlowFilterExtra;\n glowFilter.innerStrength = data.is;\n glowFilter.outerStrength = data.os;\n glowFilter.distance = data.d;\n glowFilter.color = data.c;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAUE,EAAK,iBAAiB,sBACpB,OACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MADmB,IAAI,MAAK,QAAQ,WAGtC,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAc,EAEpB,AAAI,IAAkB,gBACpB,EAAW,cAAgB,EACtB,AAAI,IAAkB,gBAC3B,EAAW,cAAgB,EAClB,IAAkB,YAC3B,GAAW,SAAW,GAG1B,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAc,EAEpB,MAAI,KAAkB,gBACb,EAAW,cAEhB,IAAkB,gBACb,EAAW,cAEhB,IAAkB,WACb,EAAW,SAEb,EAET,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAc,EAEpB,AAAI,IAAkB,SACpB,GAAW,MAAQ,EAAK,uBAAuB,IAGnD,qBACE,EACA,EACA,EACM,CACN,KAAM,GAAc,EAEpB,AAAI,IAAkB,SACpB,GAAW,MAAQ,GAGvB,kBAAkB,EAAqB,EAA+B,CACpE,KAAM,GAAc,EAEpB,MAAI,KAAkB,QACb,EAAW,MAEb,EAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAgD,CACjE,KAAM,GAAc,EAEpB,MAAO,CACL,GAAI,EAAW,cACf,GAAI,EAAW,cACf,EAAG,EAAW,SACd,EAAG,EAAW,OAGlB,0BACE,EACA,EACM,CACN,KAAM,GAAc,EAEpB,EAAW,cAAgB,EAAK,GAChC,EAAW,cAAgB,EAAK,GAChC,EAAW,SAAW,EAAK,EAC3B,EAAW,MAAQ,EAAK,OArGtB",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- var gdjs;(function(n){n.PixiFiltersTools.registerFilterCreator("Outline",new class extends n.PixiFiltersTools.PixiFilterCreator{makePIXIFilter(r,e){return new PIXI.filters.OutlineFilter}updatePreRender(r,e){}updateDoubleParameter(r,e,t){const i=r;e==="thickness"?i.thickness=t:e==="padding"&&(i.padding=t)}getDoubleParameter(r,e){const t=r;return e==="thickness"?t.thickness:e==="padding"?t.padding:0}updateStringParameter(r,e,t){const i=r;e==="color"&&(i.color=n.PixiFiltersTools.rgbOrHexToHexNumber(t))}updateColorParameter(r,e,t){const i=r;e==="color"&&(i.color=t)}getColorParameter(r,e){const t=r;return e==="color"?t.color:0}updateBooleanParameter(r,e,t){}getNetworkSyncData(r){const e=r;return{t:e.thickness,p:e.padding,c:e.color}}updateFromNetworkSyncData(r,e){const t=r;t.thickness=e.t,t.padding=e.p,t.color=e.c}})})(gdjs||(gdjs={}));
1
+ var gdjs;(function(n){n.PixiFiltersTools.registerFilterCreator("Outline",new class extends n.PixiFiltersTools.PixiFilterCreator{makePIXIFilter(r,e){return new PIXI.filters.OutlineFilter}updatePreRender(r,e){}updateDoubleParameter(r,e,t){const i=r;e==="thickness"?i.thickness=t:e==="padding"&&(i.padding=t)}getDoubleParameter(r,e){const t=r;return e==="thickness"?t.thickness:e==="padding"?t.padding:0}updateStringParameter(r,e,t){const i=r;e==="color"&&(i.color=n.rgbOrHexStringToNumber(t))}updateColorParameter(r,e,t){const i=r;e==="color"&&(i.color=t)}getColorParameter(r,e){const t=r;return e==="color"?t.color:0}updateBooleanParameter(r,e,t){}getNetworkSyncData(r){const e=r;return{t:e.thickness,p:e.padding,c:e.color}}updateFromNetworkSyncData(r,e){const t=r;t.thickness=e.t,t.padding=e.p,t.color=e.c}})})(gdjs||(gdjs={}));
2
2
  //# sourceMappingURL=outline-pixi-filter.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/outline-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface OutlineFilterNetworkSyncData {\n t: number;\n p: number;\n c: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'Outline',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const outlineFilter = new PIXI.filters.OutlineFilter();\n return outlineFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const outlineFilter = (filter as unknown) as PIXI.filters.OutlineFilter;\n if (parameterName === 'thickness') {\n outlineFilter.thickness = value;\n } else if (parameterName === 'padding') {\n outlineFilter.padding = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const outlineFilter = (filter as unknown) as PIXI.filters.OutlineFilter;\n if (parameterName === 'thickness') {\n return outlineFilter.thickness;\n }\n if (parameterName === 'padding') {\n return outlineFilter.padding;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {\n const outlineFilter = (filter as unknown) as PIXI.filters.OutlineFilter;\n if (parameterName === 'color') {\n outlineFilter.color = gdjs.PixiFiltersTools.rgbOrHexToHexNumber(\n value\n );\n }\n }\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {\n const outlineFilter = (filter as unknown) as PIXI.filters.OutlineFilter;\n if (parameterName === 'color') {\n outlineFilter.color = value;\n }\n }\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n const outlineFilter = (filter as unknown) as PIXI.filters.OutlineFilter;\n if (parameterName === 'color') {\n return outlineFilter.color;\n }\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): OutlineFilterNetworkSyncData {\n const outlineFilter = (filter as unknown) as PIXI.filters.OutlineFilter;\n return {\n t: outlineFilter.thickness,\n p: outlineFilter.padding,\n c: outlineFilter.color,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: OutlineFilterNetworkSyncData\n ) {\n const outlineFilter = (filter as unknown) as PIXI.filters.OutlineFilter;\n outlineFilter.thickness = data.t;\n outlineFilter.padding = data.p;\n outlineFilter.color = data.c;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAME,EAAK,iBAAiB,sBACpB,UACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MADsB,IAAI,MAAK,QAAQ,cAGzC,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAiB,EACvB,AAAI,IAAkB,YACpB,EAAc,UAAY,EACjB,IAAkB,WAC3B,GAAc,QAAU,GAG5B,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAiB,EACvB,MAAI,KAAkB,YACb,EAAc,UAEnB,IAAkB,UACb,EAAc,QAEhB,EAET,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAiB,EACvB,AAAI,IAAkB,SACpB,GAAc,MAAQ,EAAK,iBAAiB,oBAC1C,IAIN,qBACE,EACA,EACA,EACM,CACN,KAAM,GAAiB,EACvB,AAAI,IAAkB,SACpB,GAAc,MAAQ,GAG1B,kBAAkB,EAAqB,EAA+B,CACpE,KAAM,GAAiB,EACvB,MAAI,KAAkB,QACb,EAAc,MAEhB,EAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAmD,CACpE,KAAM,GAAiB,EACvB,MAAO,CACL,EAAG,EAAc,UACjB,EAAG,EAAc,QACjB,EAAG,EAAc,OAGrB,0BACE,EACA,EACA,CACA,KAAM,GAAiB,EACvB,EAAc,UAAY,EAAK,EAC/B,EAAc,QAAU,EAAK,EAC7B,EAAc,MAAQ,EAAK,OArFzB",
4
+ "sourcesContent": ["namespace gdjs {\n interface OutlineFilterNetworkSyncData {\n t: number;\n p: number;\n c: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'Outline',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const outlineFilter = new PIXI.filters.OutlineFilter();\n return outlineFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const outlineFilter = (filter as unknown) as PIXI.filters.OutlineFilter;\n if (parameterName === 'thickness') {\n outlineFilter.thickness = value;\n } else if (parameterName === 'padding') {\n outlineFilter.padding = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const outlineFilter = (filter as unknown) as PIXI.filters.OutlineFilter;\n if (parameterName === 'thickness') {\n return outlineFilter.thickness;\n }\n if (parameterName === 'padding') {\n return outlineFilter.padding;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {\n const outlineFilter = (filter as unknown) as PIXI.filters.OutlineFilter;\n if (parameterName === 'color') {\n outlineFilter.color = gdjs.rgbOrHexStringToNumber(value);\n }\n }\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {\n const outlineFilter = (filter as unknown) as PIXI.filters.OutlineFilter;\n if (parameterName === 'color') {\n outlineFilter.color = value;\n }\n }\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n const outlineFilter = (filter as unknown) as PIXI.filters.OutlineFilter;\n if (parameterName === 'color') {\n return outlineFilter.color;\n }\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): OutlineFilterNetworkSyncData {\n const outlineFilter = (filter as unknown) as PIXI.filters.OutlineFilter;\n return {\n t: outlineFilter.thickness,\n p: outlineFilter.padding,\n c: outlineFilter.color,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: OutlineFilterNetworkSyncData\n ) {\n const outlineFilter = (filter as unknown) as PIXI.filters.OutlineFilter;\n outlineFilter.thickness = data.t;\n outlineFilter.padding = data.p;\n outlineFilter.color = data.c;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAME,EAAK,iBAAiB,sBACpB,UACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MADsB,IAAI,MAAK,QAAQ,cAGzC,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAiB,EACvB,AAAI,IAAkB,YACpB,EAAc,UAAY,EACjB,IAAkB,WAC3B,GAAc,QAAU,GAG5B,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAiB,EACvB,MAAI,KAAkB,YACb,EAAc,UAEnB,IAAkB,UACb,EAAc,QAEhB,EAET,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAiB,EACvB,AAAI,IAAkB,SACpB,GAAc,MAAQ,EAAK,uBAAuB,IAGtD,qBACE,EACA,EACA,EACM,CACN,KAAM,GAAiB,EACvB,AAAI,IAAkB,SACpB,GAAc,MAAQ,GAG1B,kBAAkB,EAAqB,EAA+B,CACpE,KAAM,GAAiB,EACvB,MAAI,KAAkB,QACb,EAAc,MAEhB,EAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAmD,CACpE,KAAM,GAAiB,EACvB,MAAO,CACL,EAAG,EAAc,UACjB,EAAG,EAAc,QACjB,EAAG,EAAc,OAGrB,0BACE,EACA,EACA,CACA,KAAM,GAAiB,EACvB,EAAc,UAAY,EAAK,EAC/B,EAAc,QAAU,EAAK,EAC7B,EAAc,MAAQ,EAAK,OAnFzB",
6
6
  "names": []
7
7
  }
@@ -287,11 +287,9 @@ module.exports = {
287
287
  // Everything that is stored inside the object is in "content" and is automatically
288
288
  // saved/loaded to JSON.
289
289
  var dummyObject = new gd.ObjectJsImplementation();
290
- dummyObject.updateProperty = function (
291
- objectContent,
292
- propertyName,
293
- newValue
294
- ) {
290
+ dummyObject.updateProperty = function (propertyName, newValue) {
291
+ const objectContent = this.content;
292
+
295
293
  if (propertyName === 'My first property') {
296
294
  objectContent.property1 = newValue;
297
295
  return true;
@@ -311,8 +309,9 @@ module.exports = {
311
309
 
312
310
  return false;
313
311
  };
314
- dummyObject.getProperties = function (objectContent) {
312
+ dummyObject.getProperties = function () {
315
313
  var objectProperties = new gd.MapStringPropertyDescriptor();
314
+ const objectContent = this.content;
316
315
 
317
316
  objectProperties
318
317
  .getOrCreate('My first property')
@@ -336,17 +335,14 @@ module.exports = {
336
335
 
337
336
  return objectProperties;
338
337
  };
339
- dummyObject.setRawJSONContent(
340
- JSON.stringify({
341
- property1: 'Hello world',
342
- property2: true,
343
- property3: 123,
344
- myImage: '',
345
- })
346
- );
338
+ dummyObject.content = {
339
+ property1: 'Hello world',
340
+ property2: true,
341
+ property3: 123,
342
+ myImage: '',
343
+ };
347
344
 
348
345
  dummyObject.updateInitialInstanceProperty = function (
349
- objectContent,
350
346
  instance,
351
347
  propertyName,
352
348
  newValue
@@ -362,7 +358,7 @@ module.exports = {
362
358
 
363
359
  return false;
364
360
  };
365
- dummyObject.getInitialInstanceProperties = function (content, instance) {
361
+ dummyObject.getInitialInstanceProperties = function (instance) {
366
362
  var instanceProperties = new gd.MapStringPropertyDescriptor();
367
363
 
368
364
  instanceProperties
@@ -507,12 +503,13 @@ module.exports = {
507
503
  * This is called to update the PIXI object on the scene editor
508
504
  */
509
505
  update() {
506
+ const object = gd.castObject(
507
+ this._associatedObjectConfiguration,
508
+ gd.ObjectJsImplementation
509
+ );
510
+
510
511
  // Read a property from the object
511
- const property1Value = this._associatedObjectConfiguration
512
- .getProperties()
513
- .get('My first property')
514
- .getValue();
515
- this._pixiObject.text = property1Value;
512
+ this._pixiObject.text = object.content.property1;
516
513
 
517
514
  // Read position and angle from the instance
518
515
  this._pixiObject.position.x =
@@ -1,2 +1,2 @@
1
- var gdjs;(function(e){const i=new e.Logger("Firebase (setup)");let p;(function(a){let c;(function(r){r.onAppCreated=[],r._setupFirebase=async u=>{try{var n=JSON.parse(u.getGame().getExtensionProperty("Firebase","FirebaseConfig"))}catch(t){i.error("The Firebase configuration is invalid! Error: "+t);return}if(typeof n=="object"){firebase.apps.length!==0&&await firebase.app().delete(),firebase.initializeApp(n);for(let t of r.onAppCreated)t()}},e.registerFirstRuntimeSceneLoadedCallback(r._setupFirebase)})(c=a.firebaseTools||(a.firebaseTools={}))})(p=e.evtTools||(e.evtTools={}))})(gdjs||(gdjs={}));
1
+ var gdjs;(function(e){const t=new e.Logger("Firebase (setup)");let c;(function(n){let p;(function(r){r.onAppCreated=[],r._setupFirebase=async u=>{try{var i=JSON.parse(u.getGame().getExtensionProperty("Firebase","FirebaseConfig"))}catch(a){t.error("The Firebase configuration is invalid! Error: "+a);return}if(typeof i=="object"){firebase.apps.length!==0&&await firebase.app().delete(),firebase.initializeApp(i);for(let a of r.onAppCreated)try{a()}catch(g){t.error("An error occurred while running a callback: "+g)}}},e.registerFirstRuntimeSceneLoadedCallback(r._setupFirebase)})(p=n.firebaseTools||(n.firebaseTools={}))})(c=e.evtTools||(e.evtTools={}))})(gdjs||(gdjs={}));
2
2
  //# sourceMappingURL=C_firebasetools.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../GDevelop/Extensions/Firebase/B_firebasetools/C_firebasetools.ts"],
4
- "sourcesContent": ["namespace gdjs {\n const logger = new gdjs.Logger('Firebase (setup)');\n export namespace evtTools {\n /**\n * Firebase Event Tools\n * @namespace\n */\n export namespace firebaseTools {\n /**\n * An array of callbacks to call when the app gets initialized.\n */\n export const onAppCreated: Array<() => void> = [];\n\n /**\n * Sets up the Firebase SDK. Only exported for testing purposes.\n * @internal\n */\n export const _setupFirebase = async (runtimeScene: gdjs.RuntimeScene) => {\n try {\n var firebaseConfig = JSON.parse(\n //@ts-expect-error We have a try catch to catch this potential error.\n runtimeScene\n .getGame()\n .getExtensionProperty('Firebase', 'FirebaseConfig')\n );\n } catch (e) {\n logger.error('The Firebase configuration is invalid! Error: ' + e);\n return;\n }\n if (typeof firebaseConfig !== 'object') return;\n if (firebase.apps.length !== 0) await firebase.app().delete();\n firebase.initializeApp(firebaseConfig);\n for (let func of onAppCreated) func();\n };\n\n gdjs.registerFirstRuntimeSceneLoadedCallback(_setupFirebase);\n }\n }\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CACE,KAAM,GAAS,GAAI,GAAK,OAAO,oBACxB,GAAU,GAAV,UAAU,EAAV,CAKE,GAAU,GAAV,UAAU,EAAV,CAIE,AAAM,eAAkC,GAMlC,iBAAiB,KAAO,IAAoC,CACvE,GAAI,CACF,GAAI,GAAiB,KAAK,MAExB,EACG,UACA,qBAAqB,WAAY,yBAE/B,EAAP,CACA,EAAO,MAAM,iDAAmD,GAChE,OAEF,GAAI,MAAO,IAAmB,SAC9B,CAAI,SAAS,KAAK,SAAW,GAAG,KAAM,UAAS,MAAM,SACrD,SAAS,cAAc,GACvB,OAAS,KAAQ,gBAAc,MAGjC,EAAK,wCAAwC,oBA5B9B,2CALF,iCAFT",
4
+ "sourcesContent": ["namespace gdjs {\n const logger = new gdjs.Logger('Firebase (setup)');\n export namespace evtTools {\n /**\n * Firebase Event Tools\n * @namespace\n */\n export namespace firebaseTools {\n /**\n * An array of callbacks to call when the app gets initialized.\n */\n export const onAppCreated: Array<() => void> = [];\n\n /**\n * Sets up the Firebase SDK. Only exported for testing purposes.\n * @internal\n */\n export const _setupFirebase = async (runtimeScene: gdjs.RuntimeScene) => {\n try {\n var firebaseConfig = JSON.parse(\n //@ts-expect-error We have a try catch to catch this potential error.\n runtimeScene\n .getGame()\n .getExtensionProperty('Firebase', 'FirebaseConfig')\n );\n } catch (e) {\n logger.error('The Firebase configuration is invalid! Error: ' + e);\n return;\n }\n if (typeof firebaseConfig !== 'object') return;\n if (firebase.apps.length !== 0) await firebase.app().delete();\n firebase.initializeApp(firebaseConfig);\n for (let func of onAppCreated) {\n try {\n func();\n } catch (e) {\n logger.error('An error occurred while running a callback: ' + e);\n }\n }\n };\n\n gdjs.registerFirstRuntimeSceneLoadedCallback(_setupFirebase);\n }\n }\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CACE,KAAM,GAAS,GAAI,GAAK,OAAO,oBACxB,GAAU,GAAV,UAAU,EAAV,CAKE,GAAU,GAAV,UAAU,EAAV,CAIE,AAAM,eAAkC,GAMlC,iBAAiB,KAAO,IAAoC,CACvE,GAAI,CACF,GAAI,GAAiB,KAAK,MAExB,EACG,UACA,qBAAqB,WAAY,yBAE/B,EAAP,CACA,EAAO,MAAM,iDAAmD,GAChE,OAEF,GAAI,MAAO,IAAmB,SAC9B,CAAI,SAAS,KAAK,SAAW,GAAG,KAAM,UAAS,MAAM,SACrD,SAAS,cAAc,GACvB,OAAS,KAAQ,gBACf,GAAI,CACF,UACO,EAAP,CACA,EAAO,MAAM,+CAAiD,MAKpE,EAAK,wCAAwC,oBAlC9B,2CALF,iCAFT",
6
6
  "names": []
7
7
  }
@@ -14,9 +14,12 @@ class RenderedInstance {
14
14
  _associatedObjectConfiguration: gd.ObjectConfiguration;
15
15
  _pixiContainer: PIXI.Container;
16
16
  _pixiResourcesLoader: Class<PixiResourcesLoader>;
17
- _pixiObject: PIXI.DisplayObject;
17
+ _pixiObject: PIXI.DisplayObject | null;
18
18
  wasUsed: boolean;
19
19
 
20
+ /** Set to true when onRemovedFromScene is called. Allows to cancel promises/asynchronous operations (notably: waiting for a resource load). */
21
+ _wasDestroyed: boolean;
22
+
20
23
  constructor(
21
24
  project: gdProject,
22
25
  instance: gdInitialInstance,
@@ -89,10 +92,13 @@ class Rendered3DInstance {
89
92
  _pixiContainer: PIXI.Container;
90
93
  _threeGroup: THREE.Group;
91
94
  _pixiResourcesLoader: Class<PixiResourcesLoader>;
92
- _pixiObject: PIXI.DisplayObject;
95
+ _pixiObject: PIXI.DisplayObject | null;
93
96
  _threeObject: THREE.Object3D | null;
94
97
  wasUsed: boolean;
95
98
 
99
+ /** Set to true when onRemovedFromScene is called. Allows to cancel promises/asynchronous operations (notably: waiting for a resource load). */
100
+ _wasDestroyed: boolean;
101
+
96
102
  constructor(
97
103
  project: gdProject,
98
104
  instance: gdInitialInstance,
@@ -1,2 +1,2 @@
1
- var gdjs;(function(i){const o=new i.Logger("Leaderboards");let G;(function(j){let O;(function(c){let D=!1,k=!0;i.registerRuntimeScenePostEventsCallback(()=>{D=!1}),c.hasPlayerJustClosedLeaderboardView=()=>D;const B=t=>{const e=new jsSHA("SHA-256","TEXT",{encoding:"UTF8"});return e.update(t),e.getHash("B64")},I="https://gd.games";class R{constructor(){this.lastScoreSavingStartedAt=null;this.lastScoreSavingSucceededAt=null;this.lastSavingPromise=null;this._currentlySavingScore=null;this._currentlySavingPlayerName=null;this._currentlySavingPlayerId=null;this._lastSavedScore=null;this._lastSavedPlayerName=null;this._lastSavedPlayerId=null;this.lastSavedLeaderboardEntry=null;this.lastSaveError=null;this.hasScoreBeenSaved=!1;this.hasScoreSavingErrored=!1}isSaving(){return!!this.lastSavingPromise&&!this.hasScoreBeenSaved&&!this.hasScoreSavingErrored}_isSameAsLastScore({playerName:e,playerId:r,score:n}){return(!!e&&this._lastSavedPlayerName===e||!!r&&this._lastSavedPlayerId===r)&&this._lastSavedScore===n}_isAlreadySavingThisScore({playerName:e,playerId:r,score:n}){return this.isSaving()?(!!e&&this._currentlySavingPlayerName===e||!!r&&this._currentlySavingPlayerId===r)&&this._currentlySavingScore===n:!1}_isTooSoonToSaveAnotherScore(){return!!this.lastScoreSavingStartedAt&&Date.now()-this.lastScoreSavingStartedAt<500}startSaving({playerName:e,playerId:r,score:n}){if(this._isAlreadySavingThisScore({playerName:e,playerId:r,score:n}))throw o.warn("There is already a request to save with this player name and this score. Ignoring this one."),new Error("Ignoring this saving request.");if(this._isSameAsLastScore({playerName:e,playerId:r,score:n}))throw o.warn("The player and score to be sent are the same as previous one. Ignoring this one."),this._setError("SAME_AS_PREVIOUS"),new Error("Ignoring this saving request.");if(this._isTooSoonToSaveAnotherScore())throw o.warn("Last entry was sent too little time ago. Ignoring this one."),this._setError("TOO_FAST"),this.lastScoreSavingStartedAt=Date.now(),new Error("Ignoring this saving request.");let a;const g=new Promise(s=>{a=s});return this.lastScoreSavingStartedAt=Date.now(),this.lastSavingPromise=g,this.hasScoreBeenSaved=!1,this.hasScoreSavingErrored=!1,this._currentlySavingScore=n,e&&(this._currentlySavingPlayerName=e),r&&(this._currentlySavingPlayerId=r),{closeSaving:s=>{if(g!==this.lastSavingPromise){o.info("Score saving result received, but another save was launched in the meantime - ignoring the result of this one."),a();return}this.lastScoreSavingSucceededAt=Date.now(),this._lastSavedScore=this._currentlySavingScore,this._lastSavedPlayerName=this._currentlySavingPlayerName,this._lastSavedPlayerId=this._currentlySavingPlayerId,this.lastSavedLeaderboardEntry=s,this.hasScoreBeenSaved=!0,a()},closeSavingWithError:s=>{if(g!==this.lastSavingPromise){o.info("Score saving result received, but another save was launched in the meantime - ignoring the result of this one."),a();return}this._setError(s),a()}}}_setError(e){this.lastSaveError=e,this.hasScoreBeenSaved=!1,this.hasScoreSavingErrored=!0}}let u={},C,l=null,M=!1,E=!1,f=!1,A=null,T=null;const h=document.createElement("div");h.style.backgroundColor="#000000",h.style.display="flex",h.style.height="100%",h.style.width="100%",h.style.justifyContent="center",h.style.alignItems="center",h.style.position="relative",h.style.zIndex="2";const _=document.createElement("img");_.setAttribute("width","50px"),_.setAttribute("src","data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CjxjaXJjbGUgb3BhY2l0eT0nMC4yNScgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iNCI+PC9jaXJjbGU+CjxwYXRoIG9wYWNpdHk9JzAuNzUnIGZpbGw9IiNGRkZGRkYiIGQ9Ik00IDEyYTggOCAwIDAxOC04VjBDNS4zNzMgMCAwIDUuMzczIDAgMTJoNHptMiA1LjI5MUE3Ljk2MiA3Ljk2MiAwIDAxNCAxMkgwYzAgMy4wNDIgMS4xMzUgNS44MjQgMyA3LjkzOGwzLTIuNjQ3eiI+PC9wYXRoPgo8L3N2Zz4=");try{_.animate([{transform:"rotate(0deg)"},{transform:"rotate(359deg)"}],{duration:3e3,iterations:1/0})}catch{o.warn("Animation not supported, loader will be fixed.")}h.appendChild(_);const P=function({hasSucceeded:t}){const e=a=>t?a.lastScoreSavingSucceededAt:a.lastScoreSavingStartedAt,r=Object.values(u).filter(a=>!!e(a));if(r.length===0)return null;let n=r[0];return r.forEach(a=>{const g=e(a),s=e(n);g&&s&&g>s&&(n=a)}),n},x=async function({leaderboardId:t,playerName:e,authenticatedPlayerData:r,score:n,runtimeScene:a}){const s=`${a.getGame().isUsingGDevelopDevelopmentEnvironment()?"https://api-dev.gdevelop.io":"https://api.gdevelop.io"}/play`,d=a.getGame(),S={score:n,sessionId:d.getSessionId(),clientPlayerId:d.getPlayerId(),location:typeof window!="undefined"&&window.location?window.location.href:""},p={"Content-Type":"application/json"};let w=`${s}/game/${i.projectData.properties.projectUuid}/leaderboard/${t}/entry`;r?(p.Authorization=`player-game-token ${r.playerToken}`,w+=`?playerId=${r.playerId}`):S.playerName=c.formatPlayerName(e);const b=JSON.stringify(S);p.Digest=B(b);try{const v=await fetch(w,{body:b,method:"POST",headers:p});if(!v.ok){const y=v.status.toString();throw o.error("Server responded with an error:",y,v.statusText),y}try{return await v.json()}catch(y){throw o.warn("An error occurred when reading response but score has been saved:",y),"SAVED_ENTRY_CANT_BE_READ"}}catch(v){throw o.error("Error while submitting a leaderboard score:",v),"REQUEST_NOT_SENT"}};c.setPreferSendConnectedPlayerScore=(t,e)=>{k=e},c.savePlayerScore=(t,e,r,n)=>k&&i.playerAuthentication.isAuthenticated()?c.saveConnectedPlayerScore(t,e,r):new i.PromiseTask((async()=>{const a=u[e]=u[e]||new R;try{const{closeSaving:g,closeSavingWithError:s}=a.startSaving({playerName:n,score:r});try{const d=await x({leaderboardId:e,playerName:n,score:r,runtimeScene:t});g(d)}catch(d){s(d)}}catch{}})()),c.saveConnectedPlayerScore=(t,e,r)=>new i.PromiseTask((async()=>{const n=i.playerAuthentication.getUserId(),a=i.playerAuthentication.getUserToken();if(!n||!a){o.warn("Cannot save a score for a connected player if the player is not connected.");return}const g=u[e]=u[e]||new R;try{const{closeSaving:s,closeSavingWithError:d}=g.startSaving({playerId:n,score:r});try{const S=await x({leaderboardId:e,authenticatedPlayerData:{playerId:n,playerToken:a},score:r,runtimeScene:t});s(S)}catch(S){d(S)}}catch{}})()),c.isSaving=function(t){if(t)return u[t]?u[t].isSaving():!1;const e=P({hasSucceeded:!1});return e?e.isSaving():!1},c.hasBeenSaved=function(t){if(t)return u[t]?u[t].hasScoreBeenSaved:!1;const e=P({hasSucceeded:!0});return e?e.hasScoreBeenSaved:!1},c.hasSavingErrored=function(t){if(t)return u[t]?u[t].hasScoreSavingErrored:!1;const e=P({hasSucceeded:!1});return e?e.hasScoreSavingErrored:!1},c.getLastSaveError=function(t){if(t)return u[t]?u[t].lastSaveError:"NO_DATA_ERROR";const e=P({hasSucceeded:!1});return e?e.lastSaveError:"NO_DATA_ERROR"},c.formatPlayerName=function(t){return!t||typeof t!="string"||typeof t=="string"&&t.length===0?"":t.trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s/g,"_").replace(/[^\w|-]/g,"").slice(0,30)};const $=function(t){return fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}}).then(e=>e.ok?!0:(o.error(`Error while fetching leaderboard view, server returned: ${e.status} ${e.statusText}`),!1),e=>(o.error("Error while fetching leaderboard view:",e),!1))},H=function(t,e,r){switch(typeof r.data=="string"?r.data:r.data.id){case"playerAuthenticated":i.playerAuthentication.login({runtimeScene:t,userId:r.data.userId,username:r.data.username,userToken:r.data.userToken});break;case"openPlayerAuthentication":i.playerAuthentication.openAuthenticationWindow(t).promise.then(({status:a})=>{if(!l||!l.contentWindow){o.warn("Unable to transmit the new login status to the leaderboard view.");return}if(a==="errored"){l.contentWindow.postMessage({id:"onPlayerAuthenticationErrored"},I);return}const g=i.playerAuthentication.getUserId(),s=i.playerAuthentication.getUserToken();if(a==="dismissed"||!g||!s){l.contentWindow.postMessage({id:"onPlayerAuthenticationDismissed"},I);return}l.contentWindow.postMessage({id:"onPlayerAuthenticated",playerId:g,playerUsername:i.playerAuthentication.getUsername(),playerToken:s},I)});break;case"closeLeaderboardView":D=!0,c.closeLeaderboardView(t);break;case"leaderboardViewLoaded":if(e&&(A&&clearTimeout(A),L(!1,t,{callOnErrorIfDomElementContainerMissing:!1})),!l){m(t,"The leaderboard view couldn't be found. Doing nothing.");return}l.style.opacity="1",f=!0,E=!1;break}},m=function(t,e){o.error(e),M=!0,E=!1,c.closeLeaderboardView(t)},U=t=>{A&&clearTimeout(A),A=setTimeout(()=>{f||m(t,"Leaderboard page did not send message in time. Closing leaderboard view.")},15e3)},L=function(t,e,r){const n=e.getGame().getRenderer().getDomElementContainer();if(!n)return r.callOnErrorIfDomElementContainerMissing&&m(e,"The div element covering the game couldn't be found, the leaderboard cannot be displayed."),!1;if(t)n.children&&n.children.length>0?n.insertBefore(h,n.children[0]):n.appendChild(h),l&&(l.style.opacity="0");else try{n.removeChild(h),l&&(l.style.opacity="1")}catch{}return!0},F=function(t){const e=document.createElement("iframe");return e.src=t,e.id="leaderboard-view",e.style.position="absolute",e.style.opacity="0",e.style.pointerEvents="all",e.style.backgroundColor="#FFFFFF",e.style.top="0px",e.style.height="100%",e.style.left="0px",e.style.width="100%",e.style.border="none",e};c.displayLeaderboard=async function(t,e,r){if(e===C){if(E){o.warn(`Already loading the view for the requested loader (${e}), ignoring.`);return}if(f){o.warn(`Already loaded the view for the requested loader (${e}), ignoring.`);return}}C=e,M=!1,f=!1,E=!0,r&&L(!0,t,{callOnErrorIfDomElementContainerMissing:!0});const n=u[e];n&&n.lastSavingPromise&&await n.lastSavingPromise;const a=n?n.lastSavedLeaderboardEntry:null,g=i.projectData.properties.projectUuid,s=t.getGame().isUsingGDevelopDevelopmentEnvironment(),d=new URLSearchParams;d.set("inGameEmbedded","true"),s&&d.set("dev","true"),a&&(d.set("playerLeaderboardEntryId",a.id),a.claimSecret&&d.set("playerLeaderboardEntryClaimSecret",a.claimSecret));const S=i.playerAuthentication.getUserId(),p=i.playerAuthentication.getUserToken();S&&p&&(d.set("playerId",S),d.set("playerToken",p),d.set("playerUsername",i.playerAuthentication.getUsername()));const w=`${I}/games/${g}/leaderboard/${e}?${d}`;try{const b=await $(w);if(e!==C){o.warn(`Received a response for leaderboard ${e} though the last leaderboard requested is ${C}, ignoring this response.`);return}if(!b){m(t,"Leaderboard data could not be fetched. Closing leaderboard view if there is one.");return}if(l)U(t),r&&L(!0,t,{callOnErrorIfDomElementContainerMissing:!1}),l.src=w;else{const v=t.getGame().getRenderer().getDomElementContainer();if(!v){m(t,"The div element covering the game couldn't be found, the leaderboard cannot be displayed.");return}U(t),l=F(w),typeof window!="undefined"&&(T=y=>{H(t,r,y)},window.addEventListener("message",T,!0)),v.appendChild(l)}}catch(b){o.error(b),m(t,"An error occurred when fetching leaderboard data. Closing leaderboard view if there is one.")}},c.isLeaderboardViewErrored=function(){return M},c.isLeaderboardViewLoaded=function(){return f},c.isLeaderboardViewLoading=function(){return E},c.closeLeaderboardView=function(t){try{if(L(!1,t,{callOnErrorIfDomElementContainerMissing:!1}),!l){o.info("The iframe displaying the current leaderboard couldn't be found, the leaderboard view must be already closed.");return}const e=t.getGame().getRenderer().getDomElementContainer();if(!e){o.info("The div element covering the game couldn't be found, the leaderboard view must be already closed.");return}typeof window!="undefined"&&(window.removeEventListener("message",T,!0),T=null),e.removeChild(l),l=null}finally{f=!1;const e=t.getGame().getRenderer().getCanvas();e&&e.focus()}}})(O=j.leaderboards||(j.leaderboards={}))})(G=i.evtTools||(i.evtTools={}))})(gdjs||(gdjs={}));
1
+ var gdjs;(function(i){const o=new i.Logger("Leaderboards");let G;(function(j){let O;(function(c){let D=!1,k=!0;i.registerRuntimeScenePostEventsCallback(()=>{D=!1}),c.hasPlayerJustClosedLeaderboardView=()=>D;const B=t=>{const e=new jsSHA("SHA-256","TEXT",{encoding:"UTF8"});return e.update(t),e.getHash("B64")},I="https://gd.games";class R{constructor(){this.lastScoreSavingStartedAt=null;this.lastScoreSavingSucceededAt=null;this.lastSavingPromise=null;this._currentlySavingScore=null;this._currentlySavingPlayerName=null;this._currentlySavingPlayerId=null;this._lastSavedScore=null;this._lastSavedPlayerName=null;this._lastSavedPlayerId=null;this.lastSavedLeaderboardEntry=null;this.lastSaveError=null;this.hasScoreBeenSaved=!1;this.hasScoreSavingErrored=!1}isSaving(){return!!this.lastSavingPromise&&!this.hasScoreBeenSaved&&!this.hasScoreSavingErrored}_isSameAsLastScore({playerName:e,playerId:r,score:n}){return(!!e&&this._lastSavedPlayerName===e||!!r&&this._lastSavedPlayerId===r)&&this._lastSavedScore===n}_isAlreadySavingThisScore({playerName:e,playerId:r,score:n}){return this.isSaving()?(!!e&&this._currentlySavingPlayerName===e||!!r&&this._currentlySavingPlayerId===r)&&this._currentlySavingScore===n:!1}_isTooSoonToSaveAnotherScore(){return!!this.lastScoreSavingStartedAt&&Date.now()-this.lastScoreSavingStartedAt<500}startSaving({playerName:e,playerId:r,score:n}){if(this._isAlreadySavingThisScore({playerName:e,playerId:r,score:n}))throw o.warn("There is already a request to save with this player name and this score. Ignoring this one."),new Error("Ignoring this saving request.");if(this._isSameAsLastScore({playerName:e,playerId:r,score:n}))throw o.warn("The player and score to be sent are the same as previous one. Ignoring this one."),this._setError("SAME_AS_PREVIOUS"),new Error("Ignoring this saving request.");if(this._isTooSoonToSaveAnotherScore())throw o.warn("Last entry was sent too little time ago. Ignoring this one."),this._setError("TOO_FAST"),this.lastScoreSavingStartedAt=Date.now(),new Error("Ignoring this saving request.");let a;const g=new Promise(s=>{a=s});return this.lastScoreSavingStartedAt=Date.now(),this.lastSavingPromise=g,this.hasScoreBeenSaved=!1,this.hasScoreSavingErrored=!1,this._currentlySavingScore=n,e&&(this._currentlySavingPlayerName=e),r&&(this._currentlySavingPlayerId=r),{closeSaving:s=>{if(g!==this.lastSavingPromise){o.info("Score saving result received, but another save was launched in the meantime - ignoring the result of this one."),a();return}this.lastScoreSavingSucceededAt=Date.now(),this._lastSavedScore=this._currentlySavingScore,this._lastSavedPlayerName=this._currentlySavingPlayerName,this._lastSavedPlayerId=this._currentlySavingPlayerId,this.lastSavedLeaderboardEntry=s,this.hasScoreBeenSaved=!0,a()},closeSavingWithError:s=>{if(g!==this.lastSavingPromise){o.info("Score saving result received, but another save was launched in the meantime - ignoring the result of this one."),a();return}this._setError(s),a()}}}_setError(e){this.lastSaveError=e,this.hasScoreBeenSaved=!1,this.hasScoreSavingErrored=!0}}let u={},C,l=null,M=!1,E=!1,f=!1,A=null,T=null;const h=document.createElement("div");h.style.backgroundColor="#000000",h.style.display="flex",h.style.height="100%",h.style.width="100%",h.style.justifyContent="center",h.style.alignItems="center",h.style.position="relative",h.style.zIndex="2";const _=document.createElement("img");_.setAttribute("width","50px"),_.setAttribute("src","data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CjxjaXJjbGUgb3BhY2l0eT0nMC4yNScgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iNCI+PC9jaXJjbGU+CjxwYXRoIG9wYWNpdHk9JzAuNzUnIGZpbGw9IiNGRkZGRkYiIGQ9Ik00IDEyYTggOCAwIDAxOC04VjBDNS4zNzMgMCAwIDUuMzczIDAgMTJoNHptMiA1LjI5MUE3Ljk2MiA3Ljk2MiAwIDAxNCAxMkgwYzAgMy4wNDIgMS4xMzUgNS44MjQgMyA3LjkzOGwzLTIuNjQ3eiI+PC9wYXRoPgo8L3N2Zz4=");try{_.animate([{transform:"rotate(0deg)"},{transform:"rotate(359deg)"}],{duration:3e3,iterations:1/0})}catch{o.warn("Animation not supported, loader will be fixed.")}h.appendChild(_);const P=function({hasSucceeded:t}){const e=a=>t?a.lastScoreSavingSucceededAt:a.lastScoreSavingStartedAt,r=Object.values(u).filter(a=>!!e(a));if(r.length===0)return null;let n=r[0];return r.forEach(a=>{const g=e(a),s=e(n);g&&s&&g>s&&(n=a)}),n},x=async function({leaderboardId:t,playerName:e,authenticatedPlayerData:r,score:n,runtimeScene:a}){const s=`${a.getGame().isUsingGDevelopDevelopmentEnvironment()?"https://api-dev.gdevelop.io":"https://api.gdevelop.io"}/play`,d=a.getGame(),S={score:n,sessionId:d.getSessionId(),clientPlayerId:d.getPlayerId(),location:typeof window!="undefined"&&window.location?window.location.href:""},p={"Content-Type":"application/json"};let w=`${s}/game/${i.projectData.properties.projectUuid}/leaderboard/${t}/entry`;r?(p.Authorization=`player-game-token ${r.playerToken}`,w+=`?playerId=${r.playerId}`):S.playerName=c.formatPlayerName(e);const b=JSON.stringify(S);p.Digest=B(b);try{const v=await fetch(w,{body:b,method:"POST",headers:p});if(!v.ok){const y=v.status.toString();throw o.error("Server responded with an error:",y,v.statusText),y}try{return await v.json()}catch(y){throw o.warn("An error occurred when reading response but score has been saved:",y),"SAVED_ENTRY_CANT_BE_READ"}}catch(v){throw o.error("Error while submitting a leaderboard score:",v),"REQUEST_NOT_SENT"}};c.setPreferSendConnectedPlayerScore=(t,e)=>{k=e},c.savePlayerScore=(t,e,r,n)=>k&&i.playerAuthentication.isAuthenticated()?c.saveConnectedPlayerScore(t,e,r):new i.PromiseTask((async()=>{const a=u[e]=u[e]||new R;try{const{closeSaving:g,closeSavingWithError:s}=a.startSaving({playerName:n,score:r});try{const d=await x({leaderboardId:e,playerName:n,score:r,runtimeScene:t});g(d)}catch(d){s(d)}}catch{}})()),c.saveConnectedPlayerScore=(t,e,r)=>new i.PromiseTask((async()=>{const n=i.playerAuthentication.getUserId(),a=i.playerAuthentication.getUserToken();if(!n||!a){o.warn("Cannot save a score for a connected player if the player is not connected.");return}const g=u[e]=u[e]||new R;try{const{closeSaving:s,closeSavingWithError:d}=g.startSaving({playerId:n,score:r});try{const S=await x({leaderboardId:e,authenticatedPlayerData:{playerId:n,playerToken:a},score:r,runtimeScene:t});s(S)}catch(S){d(S)}}catch{}})()),c.isSaving=function(t){if(t)return u[t]?u[t].isSaving():!1;const e=P({hasSucceeded:!1});return e?e.isSaving():!1},c.hasBeenSaved=function(t){if(t)return u[t]?u[t].hasScoreBeenSaved:!1;const e=P({hasSucceeded:!0});return e?e.hasScoreBeenSaved:!1},c.hasSavingErrored=function(t){if(t)return u[t]?u[t].hasScoreSavingErrored:!1;const e=P({hasSucceeded:!1});return e?e.hasScoreSavingErrored:!1},c.getLastSaveError=function(t){if(t)return u[t]?u[t].lastSaveError:"NO_DATA_ERROR";const e=P({hasSucceeded:!1});return e?e.lastSaveError:"NO_DATA_ERROR"},c.formatPlayerName=function(t){return!t||typeof t!="string"||typeof t=="string"&&t.length===0?"":t.trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s/g,"_").replace(/[^\w|-]/g,"").slice(0,30)};const $=function(t){return fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}}).then(e=>e.ok?!0:(o.error(`Error while fetching leaderboard view, server returned: ${e.status} ${e.statusText}`),!1),e=>(o.error("Error while fetching leaderboard view:",e),!1))},H=function(t,e,r){switch(typeof r.data=="string"?r.data:r.data.id){case"playerAuthenticated":i.playerAuthentication.login({runtimeScene:t,userId:r.data.userId,username:r.data.username,userToken:r.data.userToken});break;case"openPlayerAuthentication":i.playerAuthentication.openAuthenticationWindow(t,r.data.options).promise.then(({status:a})=>{if(!l||!l.contentWindow){o.warn("Unable to transmit the new login status to the leaderboard view.");return}if(a==="errored"){l.contentWindow.postMessage({id:"onPlayerAuthenticationErrored"},I);return}const g=i.playerAuthentication.getUserId(),s=i.playerAuthentication.getUserToken();if(a==="dismissed"||!g||!s){l.contentWindow.postMessage({id:"onPlayerAuthenticationDismissed"},I);return}l.contentWindow.postMessage({id:"onPlayerAuthenticated",playerId:g,playerUsername:i.playerAuthentication.getUsername(),playerToken:s},I)});break;case"closeLeaderboardView":D=!0,c.closeLeaderboardView(t);break;case"leaderboardViewLoaded":if(e&&(A&&clearTimeout(A),L(!1,t,{callOnErrorIfDomElementContainerMissing:!1})),!l){m(t,"The leaderboard view couldn't be found. Doing nothing.");return}l.style.opacity="1",f=!0,E=!1;break}},m=function(t,e){o.error(e),M=!0,E=!1,c.closeLeaderboardView(t)},U=t=>{A&&clearTimeout(A),A=setTimeout(()=>{f||m(t,"Leaderboard page did not send message in time. Closing leaderboard view.")},15e3)},L=function(t,e,r){const n=e.getGame().getRenderer().getDomElementContainer();if(!n)return r.callOnErrorIfDomElementContainerMissing&&m(e,"The div element covering the game couldn't be found, the leaderboard cannot be displayed."),!1;if(t)n.children&&n.children.length>0?n.insertBefore(h,n.children[0]):n.appendChild(h),l&&(l.style.opacity="0");else try{n.removeChild(h),l&&(l.style.opacity="1")}catch{}return!0},F=function(t){const e=document.createElement("iframe");return e.src=t,e.id="leaderboard-view",e.style.position="absolute",e.style.opacity="0",e.style.pointerEvents="all",e.style.backgroundColor="#FFFFFF",e.style.top="0px",e.style.height="100%",e.style.left="0px",e.style.width="100%",e.style.border="none",e};c.displayLeaderboard=async function(t,e,r){if(e===C){if(E){o.warn(`Already loading the view for the requested loader (${e}), ignoring.`);return}if(f){o.warn(`Already loaded the view for the requested loader (${e}), ignoring.`);return}}C=e,M=!1,f=!1,E=!0,r&&L(!0,t,{callOnErrorIfDomElementContainerMissing:!0});const n=u[e];n&&n.lastSavingPromise&&await n.lastSavingPromise;const a=n?n.lastSavedLeaderboardEntry:null,g=i.projectData.properties.projectUuid,s=t.getGame().isUsingGDevelopDevelopmentEnvironment(),d=new URLSearchParams;d.set("inGameEmbedded","true"),s&&d.set("dev","true"),a&&(d.set("playerLeaderboardEntryId",a.id),a.claimSecret&&d.set("playerLeaderboardEntryClaimSecret",a.claimSecret));const S=i.playerAuthentication.getUserId(),p=i.playerAuthentication.getUserToken();S&&p&&(d.set("playerId",S),d.set("playerToken",p),d.set("playerUsername",i.playerAuthentication.getUsername()));const w=`${I}/games/${g}/leaderboard/${e}?${d}`;try{const b=await $(w);if(e!==C){o.warn(`Received a response for leaderboard ${e} though the last leaderboard requested is ${C}, ignoring this response.`);return}if(!b){m(t,"Leaderboard data could not be fetched. Closing leaderboard view if there is one.");return}if(l)U(t),r&&L(!0,t,{callOnErrorIfDomElementContainerMissing:!1}),l.src=w;else{const v=t.getGame().getRenderer().getDomElementContainer();if(!v){m(t,"The div element covering the game couldn't be found, the leaderboard cannot be displayed.");return}U(t),l=F(w),typeof window!="undefined"&&(T=y=>{H(t,r,y)},window.addEventListener("message",T,!0)),v.appendChild(l)}}catch(b){o.error(b),m(t,"An error occurred when fetching leaderboard data. Closing leaderboard view if there is one.")}},c.isLeaderboardViewErrored=function(){return M},c.isLeaderboardViewLoaded=function(){return f},c.isLeaderboardViewLoading=function(){return E},c.closeLeaderboardView=function(t){try{if(L(!1,t,{callOnErrorIfDomElementContainerMissing:!1}),!l){o.info("The iframe displaying the current leaderboard couldn't be found, the leaderboard view must be already closed.");return}const e=t.getGame().getRenderer().getDomElementContainer();if(!e){o.info("The div element covering the game couldn't be found, the leaderboard view must be already closed.");return}typeof window!="undefined"&&(window.removeEventListener("message",T,!0),T=null),e.removeChild(l),l=null}finally{f=!1;const e=t.getGame().getRenderer().getCanvas();e&&e.focus()}}})(O=j.leaderboards||(j.leaderboards={}))})(G=i.evtTools||(i.evtTools={}))})(gdjs||(gdjs={}));
2
2
  //# sourceMappingURL=leaderboardstools.js.map