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.
- package/dist/Runtime/Cordova/config.xml +4 -0
- package/dist/Runtime/Cordova/package.json +12 -20
- package/dist/Runtime/CustomRuntimeObject.js +1 -1
- package/dist/Runtime/CustomRuntimeObject.js.map +2 -2
- package/dist/Runtime/CustomRuntimeObjectInstanceContainer.js +1 -1
- package/dist/Runtime/CustomRuntimeObjectInstanceContainer.js.map +2 -2
- package/dist/Runtime/Extensions/3D/A_RuntimeObject3D.js +1 -1
- package/dist/Runtime/Extensions/3D/A_RuntimeObject3D.js.map +2 -2
- package/dist/Runtime/Extensions/3D/AmbientLight.js +1 -1
- package/dist/Runtime/Extensions/3D/AmbientLight.js.map +2 -2
- package/dist/Runtime/Extensions/3D/CustomRuntimeObject3D.js +1 -1
- package/dist/Runtime/Extensions/3D/CustomRuntimeObject3D.js.map +2 -2
- package/dist/Runtime/Extensions/3D/DirectionalLight.js +1 -1
- package/dist/Runtime/Extensions/3D/DirectionalLight.js.map +2 -2
- package/dist/Runtime/Extensions/3D/ExponentialFog.js +1 -1
- package/dist/Runtime/Extensions/3D/ExponentialFog.js.map +2 -2
- package/dist/Runtime/Extensions/3D/HemisphereLight.js +1 -1
- package/dist/Runtime/Extensions/3D/HemisphereLight.js.map +2 -2
- package/dist/Runtime/Extensions/3D/JsExtension.js +419 -228
- package/dist/Runtime/Extensions/3D/LinearFog.js +1 -1
- package/dist/Runtime/Extensions/3D/LinearFog.js.map +2 -2
- package/dist/Runtime/Extensions/3D/Model3DRuntimeObject.js +1 -1
- package/dist/Runtime/Extensions/3D/Model3DRuntimeObject.js.map +2 -2
- package/dist/Runtime/Extensions/AdMob/admobtools.js +1 -1
- package/dist/Runtime/Extensions/AdMob/admobtools.js.map +2 -2
- package/dist/Runtime/Extensions/AdvancedWindow/electron-advancedwindowtools.js +1 -1
- package/dist/Runtime/Extensions/AdvancedWindow/electron-advancedwindowtools.js.map +2 -2
- package/dist/Runtime/Extensions/AnchorBehavior/anchorruntimebehavior.js +1 -1
- package/dist/Runtime/Extensions/AnchorBehavior/anchorruntimebehavior.js.map +2 -2
- package/dist/Runtime/Extensions/BBText/JsExtension.js +45 -42
- package/dist/Runtime/Extensions/BBText/bbtextruntimeobject.js +1 -1
- package/dist/Runtime/Extensions/BBText/bbtextruntimeobject.js.map +2 -2
- package/dist/Runtime/Extensions/BitmapText/JsExtension.js +40 -49
- package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject.js +1 -1
- package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject.js.map +2 -2
- package/dist/Runtime/Extensions/Effects/JsExtension.js +2 -2
- package/dist/Runtime/Extensions/Effects/bevel-pixi-filter.js +1 -1
- package/dist/Runtime/Extensions/Effects/bevel-pixi-filter.js.map +2 -2
- package/dist/Runtime/Extensions/Effects/color-replace-pixi-filter.js +1 -1
- package/dist/Runtime/Extensions/Effects/color-replace-pixi-filter.js.map +2 -2
- package/dist/Runtime/Extensions/Effects/drop-shadow-pixi-filter.js +1 -1
- package/dist/Runtime/Extensions/Effects/drop-shadow-pixi-filter.js.map +2 -2
- package/dist/Runtime/Extensions/Effects/glow-pixi-filter.js +1 -1
- package/dist/Runtime/Extensions/Effects/glow-pixi-filter.js.map +2 -2
- package/dist/Runtime/Extensions/Effects/outline-pixi-filter.js +1 -1
- package/dist/Runtime/Extensions/Effects/outline-pixi-filter.js.map +2 -2
- package/dist/Runtime/Extensions/ExampleJsExtension/JsExtension.js +18 -21
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/C_firebasetools.js +1 -1
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/C_firebasetools.js.map +2 -2
- package/dist/Runtime/Extensions/JsExtensionTypes.d.ts +8 -2
- package/dist/Runtime/Extensions/Leaderboards/leaderboardstools.js +1 -1
- package/dist/Runtime/Extensions/Leaderboards/leaderboardstools.js.map +2 -2
- package/dist/Runtime/Extensions/Lighting/JsExtension.js +50 -38
- package/dist/Runtime/Extensions/Lighting/lightruntimeobject-pixi-renderer.js +1 -1
- package/dist/Runtime/Extensions/Lighting/lightruntimeobject-pixi-renderer.js.map +2 -2
- package/dist/Runtime/Extensions/Multiplayer/JsExtension.js +112 -7
- package/dist/Runtime/Extensions/Multiplayer/messageManager.js +1 -1
- package/dist/Runtime/Extensions/Multiplayer/messageManager.js.map +2 -2
- package/dist/Runtime/Extensions/Multiplayer/multiplayercomponents.js +1 -1
- package/dist/Runtime/Extensions/Multiplayer/multiplayercomponents.js.map +2 -2
- package/dist/Runtime/Extensions/Multiplayer/multiplayerobjectruntimebehavior.js +1 -1
- package/dist/Runtime/Extensions/Multiplayer/multiplayerobjectruntimebehavior.js.map +2 -2
- package/dist/Runtime/Extensions/Multiplayer/multiplayertools.js +1 -1
- package/dist/Runtime/Extensions/Multiplayer/multiplayertools.js.map +2 -2
- package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js +1 -1
- package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js.map +2 -2
- package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject.js +1 -1
- package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject.js.map +2 -2
- package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js +1 -1
- package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js.map +2 -2
- package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject.js +1 -1
- package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject.js.map +2 -2
- package/dist/Runtime/Extensions/Physics2Behavior/JsExtension.js +127 -40
- package/dist/Runtime/Extensions/Physics2Behavior/physics2runtimebehavior.js +1 -1
- package/dist/Runtime/Extensions/Physics2Behavior/physics2runtimebehavior.js.map +2 -2
- package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationtools.js +1 -1
- package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationtools.js.map +2 -2
- package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js +1 -1
- package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js.map +2 -2
- package/dist/Runtime/Extensions/Spine/JsExtension.js +77 -36
- package/dist/Runtime/Extensions/Spine/spineruntimeobject-pixi-renderer.js +1 -1
- package/dist/Runtime/Extensions/Spine/spineruntimeobject-pixi-renderer.js.map +2 -2
- package/dist/Runtime/Extensions/Spine/spineruntimeobject.js +1 -1
- package/dist/Runtime/Extensions/Spine/spineruntimeobject.js.map +2 -2
- package/dist/Runtime/Extensions/TextInput/JsExtension.js +55 -56
- package/dist/Runtime/Extensions/TextInput/textinputruntimeobject-pixi-renderer.js +1 -1
- package/dist/Runtime/Extensions/TextInput/textinputruntimeobject-pixi-renderer.js.map +2 -2
- package/dist/Runtime/Extensions/TextInput/textinputruntimeobject.js +1 -1
- package/dist/Runtime/Extensions/TextInput/textinputruntimeobject.js.map +2 -2
- package/dist/Runtime/Extensions/TextObject/textruntimeobject-pixi-renderer.js +1 -1
- package/dist/Runtime/Extensions/TextObject/textruntimeobject-pixi-renderer.js.map +2 -2
- package/dist/Runtime/Extensions/TextObject/textruntimeobject.js +1 -1
- package/dist/Runtime/Extensions/TextObject/textruntimeobject.js.map +2 -2
- package/dist/Runtime/Extensions/TileMap/JsExtension.js +511 -287
- package/dist/Runtime/Extensions/TileMap/TileMapRuntimeManager.js +1 -1
- package/dist/Runtime/Extensions/TileMap/TileMapRuntimeManager.js.map +2 -2
- package/dist/Runtime/Extensions/TileMap/collision/TransformedTileMap.js +1 -1
- package/dist/Runtime/Extensions/TileMap/collision/TransformedTileMap.js.map +2 -2
- package/dist/Runtime/Extensions/TileMap/helper/TileMapHelper.js +1 -1
- package/dist/Runtime/Extensions/TileMap/helper/TileMapHelper.js.map +1 -1
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledTileMapLoader.d.ts.map +1 -1
- package/dist/Runtime/Extensions/TileMap/helper/dts/model/TileMapModel.d.ts +12 -1
- package/dist/Runtime/Extensions/TileMap/helper/dts/model/TileMapModel.d.ts.map +1 -1
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileMapManager.d.ts.map +1 -1
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileMapPixiHelper.d.ts +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileMapPixiHelper.d.ts.map +1 -1
- package/dist/Runtime/Extensions/TileMap/simpletilemapruntimeobject.js +1 -1
- package/dist/Runtime/Extensions/TileMap/simpletilemapruntimeobject.js.map +2 -2
- package/dist/Runtime/Extensions/TileMap/tilemapcollisionmaskruntimeobject.js +1 -1
- package/dist/Runtime/Extensions/TileMap/tilemapcollisionmaskruntimeobject.js.map +2 -2
- package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject-pixi-renderer.js +1 -1
- package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject-pixi-renderer.js.map +2 -2
- package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject.js +1 -1
- package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject.js.map +2 -2
- package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject.js +1 -1
- package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject.js.map +2 -2
- package/dist/Runtime/Extensions/TweenBehavior/JsExtension.js +1 -0
- package/dist/Runtime/Extensions/Video/JsExtension.js +35 -44
- package/dist/Runtime/Extensions/Video/videoruntimeobject.js +1 -1
- package/dist/Runtime/Extensions/Video/videoruntimeobject.js.map +2 -2
- package/dist/Runtime/ResourceLoader.js +1 -1
- package/dist/Runtime/ResourceLoader.js.map +2 -2
- package/dist/Runtime/RuntimeInstanceContainer.js.map +2 -2
- package/dist/Runtime/SpriteAnimator.js +1 -1
- package/dist/Runtime/SpriteAnimator.js.map +2 -2
- package/dist/Runtime/debugger-client/InGameDebugger.js +1 -1
- package/dist/Runtime/debugger-client/InGameDebugger.js.map +2 -2
- package/dist/Runtime/debugger-client/abstract-debugger-client.js +1 -1
- package/dist/Runtime/debugger-client/abstract-debugger-client.js.map +2 -2
- package/dist/Runtime/debugger-client/hot-reloader.js +2 -1
- package/dist/Runtime/debugger-client/hot-reloader.js.map +2 -2
- package/dist/Runtime/debugger-client/minimal-debugger-client.js +2 -0
- package/dist/Runtime/debugger-client/minimal-debugger-client.js.map +7 -0
- package/dist/Runtime/debugger-client/websocket-debugger-client.js.map +2 -2
- package/dist/Runtime/debugger-client/window-message-debugger-client.js.map +2 -2
- package/dist/Runtime/events-tools/inputtools.js +1 -1
- package/dist/Runtime/events-tools/inputtools.js.map +2 -2
- package/dist/Runtime/events-tools/objecttools.js +1 -1
- package/dist/Runtime/events-tools/objecttools.js.map +2 -2
- package/dist/Runtime/gd.js +1 -1
- package/dist/Runtime/gd.js.map +2 -2
- package/dist/Runtime/howler-sound-manager/howler-sound-manager.js +1 -1
- package/dist/Runtime/howler-sound-manager/howler-sound-manager.js.map +2 -2
- package/dist/Runtime/inputmanager.js +1 -1
- package/dist/Runtime/inputmanager.js.map +2 -2
- package/dist/Runtime/pixi-renderers/CustomRuntimeObject2DPixiRenderer.js +1 -1
- package/dist/Runtime/pixi-renderers/CustomRuntimeObject2DPixiRenderer.js.map +2 -2
- package/dist/Runtime/pixi-renderers/pixi-filters-tools.js +1 -1
- package/dist/Runtime/pixi-renderers/pixi-filters-tools.js.map +2 -2
- package/dist/Runtime/pixi-renderers/runtimegame-pixi-renderer.js +1 -1
- package/dist/Runtime/pixi-renderers/runtimegame-pixi-renderer.js.map +2 -2
- package/dist/Runtime/pixi-renderers/spriteruntimeobject-pixi-renderer.js +1 -1
- package/dist/Runtime/pixi-renderers/spriteruntimeobject-pixi-renderer.js.map +2 -2
- package/dist/Runtime/runtimegame.js +1 -1
- package/dist/Runtime/runtimegame.js.map +2 -2
- package/dist/Runtime/runtimeobject.js +1 -1
- package/dist/Runtime/runtimeobject.js.map +2 -2
- package/dist/Runtime/runtimescene.js +1 -1
- package/dist/Runtime/runtimescene.js.map +2 -2
- package/dist/Runtime/scenestack.js +1 -1
- package/dist/Runtime/scenestack.js.map +2 -2
- package/dist/Runtime/spriteruntimeobject.js +1 -1
- package/dist/Runtime/spriteruntimeobject.js.map +2 -2
- package/dist/Runtime/types/project-data.d.ts +36 -8
- package/dist/Runtime/variablescontainer.js +1 -1
- package/dist/Runtime/variablescontainer.js.map +2 -2
- package/dist/lib/libGD.cjs +1 -1
- package/dist/lib/libGD.wasm +0 -0
- package/gd.d.ts +149 -75
- 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,
|
|
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": "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,OAExC,EAAoB,UAAY,QAClC,KAAK,WAAW,EAAoB,SAIxC,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,aAvWnB,EAAM,0BA0Wb,EAAK,eACH,+BAEA,EAAK,2BAjaC",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -52,7 +52,7 @@ module.exports = {
|
|
|
52
52
|
.setType('number');
|
|
53
53
|
adjustmentProperties
|
|
54
54
|
.getOrCreate('saturation')
|
|
55
|
-
.setValue('
|
|
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('
|
|
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.
|
|
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.
|
|
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,
|
|
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.
|
|
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.
|
|
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,
|
|
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.
|
|
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.
|
|
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,
|
|
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(
|
|
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.
|
|
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,
|
|
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.
|
|
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.
|
|
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,
|
|
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
|
-
|
|
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 (
|
|
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.
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
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 (
|
|
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
|
-
|
|
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
|
|
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,
|
|
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
|