gdcore-tools 2.0.0-gd-v5.5.223-autobuild → 2.0.0-gd-v5.5.225-autobuild

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/dist/Runtime/CustomRuntimeObject.js +1 -1
  2. package/dist/Runtime/CustomRuntimeObject.js.map +2 -2
  3. package/dist/Runtime/CustomRuntimeObject2D.js.map +2 -2
  4. package/dist/Runtime/Extensions/3D/A_RuntimeObject3D.js.map +2 -2
  5. package/dist/Runtime/Extensions/3D/Base3DBehavior.js.map +2 -2
  6. package/dist/Runtime/Extensions/3D/Cube3DRuntimeObject.js +1 -1
  7. package/dist/Runtime/Extensions/3D/Cube3DRuntimeObject.js.map +2 -2
  8. package/dist/Runtime/Extensions/3D/Cube3DRuntimeObjectPixiRenderer.js +1 -1
  9. package/dist/Runtime/Extensions/3D/Cube3DRuntimeObjectPixiRenderer.js.map +2 -2
  10. package/dist/Runtime/Extensions/3D/CustomRuntimeObject3D.js.map +2 -2
  11. package/dist/Runtime/Extensions/3D/CustomRuntimeObject3DRenderer.js.map +2 -2
  12. package/dist/Runtime/Extensions/3D/JsExtension.js +219 -108
  13. package/dist/Runtime/Extensions/3D/Model3DRuntimeObject.js +1 -1
  14. package/dist/Runtime/Extensions/3D/Model3DRuntimeObject.js.map +2 -2
  15. package/dist/Runtime/Extensions/3D/Model3DRuntimeObject3DRenderer.js +1 -1
  16. package/dist/Runtime/Extensions/3D/Model3DRuntimeObject3DRenderer.js.map +2 -2
  17. package/dist/Runtime/Extensions/AdMob/JsExtension.js +63 -1
  18. package/dist/Runtime/Extensions/AdMob/admobtools.js +1 -1
  19. package/dist/Runtime/Extensions/AdMob/admobtools.js.map +2 -2
  20. package/dist/Runtime/Extensions/AdvancedWindow/electron-advancedwindowtools.js.map +2 -2
  21. package/dist/Runtime/Extensions/AnchorBehavior/anchorruntimebehavior.js +1 -1
  22. package/dist/Runtime/Extensions/AnchorBehavior/anchorruntimebehavior.js.map +2 -2
  23. package/dist/Runtime/Extensions/BBText/JsExtension.js +10 -9
  24. package/dist/Runtime/Extensions/BBText/bbtextruntimeobject.js.map +2 -2
  25. package/dist/Runtime/Extensions/BitmapText/JsExtension.js +4 -6
  26. package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject-pixi-renderer.js.map +2 -2
  27. package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject.js.map +2 -2
  28. package/dist/Runtime/Extensions/DialogueTree/dialoguetools.js.map +2 -2
  29. package/dist/Runtime/Extensions/DraggableBehavior/draggableruntimebehavior.js.map +2 -2
  30. package/dist/Runtime/Extensions/Effects/adjustment-pixi-filter.js.map +2 -2
  31. package/dist/Runtime/Extensions/Effects/advanced-bloom-pixi-filter.js.map +2 -2
  32. package/dist/Runtime/Extensions/Effects/ascii-pixi-filter.js.map +2 -2
  33. package/dist/Runtime/Extensions/Effects/bevel-pixi-filter.js.map +2 -2
  34. package/dist/Runtime/Extensions/Effects/black-and-white-pixi-filter.js.map +2 -2
  35. package/dist/Runtime/Extensions/Effects/blending-mode-pixi-filter.js.map +2 -2
  36. package/dist/Runtime/Extensions/Effects/brightness-pixi-filter.js.map +2 -2
  37. package/dist/Runtime/Extensions/Effects/bulge-pinch-pixi-filter.js.map +2 -2
  38. package/dist/Runtime/Extensions/Effects/color-map-pixi-filter.js.map +2 -2
  39. package/dist/Runtime/Extensions/Effects/color-replace-pixi-filter.js.map +2 -2
  40. package/dist/Runtime/Extensions/Effects/crt-pixi-filter.js.map +2 -2
  41. package/dist/Runtime/Extensions/Effects/displacement-pixi-filter.js.map +2 -2
  42. package/dist/Runtime/Extensions/Effects/dot-pixi-filter.js.map +2 -2
  43. package/dist/Runtime/Extensions/Effects/drop-shadow-pixi-filter.js.map +2 -2
  44. package/dist/Runtime/Extensions/Effects/glitch-pixi-filter.js.map +2 -2
  45. package/dist/Runtime/Extensions/Effects/glow-pixi-filter.js.map +2 -2
  46. package/dist/Runtime/Extensions/Effects/godray-pixi-filter.js.map +2 -2
  47. package/dist/Runtime/Extensions/Effects/kawase-blur-pixi-filter.js.map +2 -2
  48. package/dist/Runtime/Extensions/Effects/noise-pixi-filter.js.map +2 -2
  49. package/dist/Runtime/Extensions/Effects/old-film-pixi-filter.js.map +2 -2
  50. package/dist/Runtime/Extensions/Effects/outline-pixi-filter.js.map +2 -2
  51. package/dist/Runtime/Extensions/Effects/pixelate-pixi-filter.js.map +2 -2
  52. package/dist/Runtime/Extensions/Effects/pixi-filters/types/drop-shadow/types.d.ts +10 -4
  53. package/dist/Runtime/Extensions/Effects/radial-blur-pixi-filter.js.map +2 -2
  54. package/dist/Runtime/Extensions/Effects/reflection-pixi-filter.js.map +2 -2
  55. package/dist/Runtime/Extensions/Effects/rgb-split-pixi-filter.js.map +2 -2
  56. package/dist/Runtime/Extensions/Effects/sepia-pixi-filter.js.map +2 -2
  57. package/dist/Runtime/Extensions/Effects/shockwave-pixi-filter.js.map +2 -2
  58. package/dist/Runtime/Extensions/Effects/tilt-shift-pixi-filter.js.map +2 -2
  59. package/dist/Runtime/Extensions/Effects/twist-pixi-filter.js.map +2 -2
  60. package/dist/Runtime/Extensions/Effects/zoom-blur-pixi-filter.js.map +2 -2
  61. package/dist/Runtime/Extensions/ExampleJsExtension/dummyeffect.js.map +2 -2
  62. package/dist/Runtime/Extensions/FacebookInstantGames/facebookinstantgamestools.js.map +2 -2
  63. package/dist/Runtime/Extensions/Firebase/A_firebasejs/firebase.d.ts +5 -4
  64. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_cloudfirestoretools.js.map +2 -2
  65. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_remoteconfigtools.js.map +2 -2
  66. package/dist/Runtime/Extensions/Firebase/JsExtension.js +21 -21
  67. package/dist/Runtime/Extensions/JsExtensionTypes.d.ts +1 -0
  68. package/dist/Runtime/Extensions/Leaderboards/leaderboardstools.js.map +2 -2
  69. package/dist/Runtime/Extensions/Lighting/JsExtension.js +2 -2
  70. package/dist/Runtime/Extensions/Lighting/lightobstacleruntimebehavior.js.map +2 -2
  71. package/dist/Runtime/Extensions/Lighting/lightruntimeobject-pixi-renderer.js.map +2 -2
  72. package/dist/Runtime/Extensions/Lighting/lightruntimeobject.js.map +2 -2
  73. package/dist/Runtime/Extensions/LinkedObjects/linkedobjects.js.map +2 -2
  74. package/dist/Runtime/Extensions/Multiplayer/JsExtension.js +122 -0
  75. package/dist/Runtime/Extensions/Multiplayer/messageManager.js.map +2 -2
  76. package/dist/Runtime/Extensions/Multiplayer/multiplayerVariablesManager.js.map +2 -2
  77. package/dist/Runtime/Extensions/Multiplayer/multiplayercomponents.js +1 -1
  78. package/dist/Runtime/Extensions/Multiplayer/multiplayercomponents.js.map +2 -2
  79. package/dist/Runtime/Extensions/Multiplayer/multiplayerobjectruntimebehavior.js.map +2 -2
  80. package/dist/Runtime/Extensions/Multiplayer/multiplayertools.js +1 -1
  81. package/dist/Runtime/Extensions/Multiplayer/multiplayertools.js.map +2 -2
  82. package/dist/Runtime/Extensions/Multiplayer/peerJsHelper.js +1 -1
  83. package/dist/Runtime/Extensions/Multiplayer/peerJsHelper.js.map +2 -2
  84. package/dist/Runtime/Extensions/Multiplayer/peerjs.d.ts +8 -10
  85. package/dist/Runtime/Extensions/P2P/peerjs.d.ts +8 -10
  86. package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js.map +2 -2
  87. package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject.js.map +2 -2
  88. package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js.map +2 -2
  89. package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject.js.map +2 -2
  90. package/dist/Runtime/Extensions/ParticleSystem/pixi-particles-pixi-renderer.d.ts +2 -1
  91. package/dist/Runtime/Extensions/PathfindingBehavior/pathfindingobstacleruntimebehavior.js.map +2 -2
  92. package/dist/Runtime/Extensions/PathfindingBehavior/pathfindingruntimebehavior.js.map +2 -2
  93. package/dist/Runtime/Extensions/Physics2Behavior/JsExtension.js +106 -106
  94. package/dist/Runtime/Extensions/Physics2Behavior/box2d.d.ts +13 -7
  95. package/dist/Runtime/Extensions/Physics2Behavior/physics2runtimebehavior.js.map +2 -2
  96. package/dist/Runtime/Extensions/Physics3DBehavior/Physics3DRuntimeBehavior.js +1 -1
  97. package/dist/Runtime/Extensions/Physics3DBehavior/Physics3DRuntimeBehavior.js.map +2 -2
  98. package/dist/Runtime/Extensions/Physics3DBehavior/PhysicsCharacter3DRuntimeBehavior.js +1 -1
  99. package/dist/Runtime/Extensions/Physics3DBehavior/PhysicsCharacter3DRuntimeBehavior.js.map +2 -2
  100. package/dist/Runtime/Extensions/PhysicsBehavior/physicsruntimebehavior.js.map +2 -2
  101. package/dist/Runtime/Extensions/PlatformBehavior/platformerobjectruntimebehavior.js.map +2 -2
  102. package/dist/Runtime/Extensions/PlatformBehavior/platformruntimebehavior.js.map +2 -2
  103. package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationcomponents.js.map +1 -1
  104. package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationtools.js +1 -1
  105. package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationtools.js.map +2 -2
  106. package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js.map +2 -2
  107. package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js.map +2 -2
  108. package/dist/Runtime/Extensions/SpatialSound/spatialsoundtools.js +1 -1
  109. package/dist/Runtime/Extensions/SpatialSound/spatialsoundtools.js.map +2 -2
  110. package/dist/Runtime/Extensions/Spine/JsExtension.js +5 -4
  111. package/dist/Runtime/Extensions/Spine/managers/pixi-spine-atlas-manager.js +1 -1
  112. package/dist/Runtime/Extensions/Spine/managers/pixi-spine-atlas-manager.js.map +2 -2
  113. package/dist/Runtime/Extensions/Spine/managers/pixi-spine-manager.js +1 -1
  114. package/dist/Runtime/Extensions/Spine/managers/pixi-spine-manager.js.map +2 -2
  115. package/dist/Runtime/Extensions/Spine/spineruntimeobject-pixi-renderer.js.map +2 -2
  116. package/dist/Runtime/Extensions/Spine/spineruntimeobject.js.map +2 -2
  117. package/dist/Runtime/Extensions/Steamworks/JsExtension.js +12 -12
  118. package/dist/Runtime/Extensions/Steamworks/Z_steamworksinputtools.js.map +2 -2
  119. package/dist/Runtime/Extensions/Steamworks/steamworkstools.js.map +2 -2
  120. package/dist/Runtime/Extensions/TextEntryObject/textentryruntimeobject-pixi-renderer.js.map +2 -2
  121. package/dist/Runtime/Extensions/TextInput/JsExtension.js +2 -2
  122. package/dist/Runtime/Extensions/TextInput/textinputruntimeobject-pixi-renderer.js +1 -1
  123. package/dist/Runtime/Extensions/TextInput/textinputruntimeobject-pixi-renderer.js.map +2 -2
  124. package/dist/Runtime/Extensions/TextInput/textinputruntimeobject.js.map +2 -2
  125. package/dist/Runtime/Extensions/TextObject/textruntimeobject-pixi-renderer.js.map +2 -2
  126. package/dist/Runtime/Extensions/TextObject/textruntimeobject.js.map +2 -2
  127. package/dist/Runtime/Extensions/TileMap/JsExtension.js +20 -18
  128. package/dist/Runtime/Extensions/TileMap/TileMapRuntimeManager.js.map +2 -2
  129. package/dist/Runtime/Extensions/TileMap/collision/TransformedTileMap.js.map +2 -2
  130. package/dist/Runtime/Extensions/TileMap/helper/dts/model/TileMapModel.d.ts +1 -3
  131. package/dist/Runtime/Extensions/TileMap/simpletilemapruntimeobject.js.map +2 -2
  132. package/dist/Runtime/Extensions/TileMap/tilemapcollisionmaskruntimeobject.js.map +2 -2
  133. package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject-pixi-renderer.js.map +1 -1
  134. package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject.js.map +2 -2
  135. package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js.map +2 -2
  136. package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject.js.map +2 -2
  137. package/dist/Runtime/Extensions/TopDownMovementBehavior/topdownmovementruntimebehavior.js.map +2 -2
  138. package/dist/Runtime/Extensions/TweenBehavior/tweenruntimebehavior.js.map +1 -1
  139. package/dist/Runtime/Extensions/Video/JsExtension.js +2 -1
  140. package/dist/Runtime/Extensions/Video/videoruntimeobject-pixi-renderer.js.map +2 -2
  141. package/dist/Runtime/Extensions/Video/videoruntimeobject.js.map +2 -2
  142. package/dist/Runtime/InAppTutorialMessage.js +6 -0
  143. package/dist/Runtime/InAppTutorialMessage.js.map +7 -0
  144. package/dist/Runtime/Model3DManager.js.map +2 -2
  145. package/dist/Runtime/ResourceLoader.js.map +2 -2
  146. package/dist/Runtime/RuntimeCustomObjectLayer.js +1 -1
  147. package/dist/Runtime/RuntimeCustomObjectLayer.js.map +2 -2
  148. package/dist/Runtime/RuntimeInstanceContainer.js.map +1 -1
  149. package/dist/Runtime/RuntimeLayer.js.map +2 -2
  150. package/dist/Runtime/SpriteAnimator.js.map +2 -2
  151. package/dist/Runtime/affinetransformation.js.map +1 -1
  152. package/dist/Runtime/debugger-client/abstract-debugger-client.js.map +2 -2
  153. package/dist/Runtime/debugger-client/hot-reloader.js +2 -2
  154. package/dist/Runtime/debugger-client/hot-reloader.js.map +2 -2
  155. package/dist/Runtime/debugger-client/websocket-debugger-client.js +1 -1
  156. package/dist/Runtime/debugger-client/websocket-debugger-client.js.map +2 -2
  157. package/dist/Runtime/events-tools/networktools.js +1 -1
  158. package/dist/Runtime/events-tools/networktools.js.map +2 -2
  159. package/dist/Runtime/fontfaceobserver-font-manager/fontfaceobserver-font-manager.js.map +2 -2
  160. package/dist/Runtime/gd.js.map +2 -2
  161. package/dist/Runtime/howler-sound-manager/howler-sound-manager.js +1 -1
  162. package/dist/Runtime/howler-sound-manager/howler-sound-manager.js.map +2 -2
  163. package/dist/Runtime/inputmanager.js.map +2 -2
  164. package/dist/Runtime/jsonmanager.js.map +2 -2
  165. package/dist/Runtime/layer.js.map +2 -2
  166. package/dist/Runtime/libs/nanomarkdown.js +5 -0
  167. package/dist/Runtime/libs/nanomarkdown.js.map +7 -0
  168. package/dist/Runtime/object-capabilities/AnimatableBehavior.js.map +2 -2
  169. package/dist/Runtime/object-capabilities/EffectBehavior.js.map +2 -2
  170. package/dist/Runtime/object-capabilities/FlippableBehavior.js.map +2 -2
  171. package/dist/Runtime/object-capabilities/OpacityBehavior.js.map +2 -2
  172. package/dist/Runtime/object-capabilities/ResizableBehavior.js.map +2 -2
  173. package/dist/Runtime/object-capabilities/ScalableBehavior.js.map +2 -2
  174. package/dist/Runtime/object-capabilities/TextContainerBehavior.js.map +2 -2
  175. package/dist/Runtime/pixi-renderers/CustomRuntimeObject2DPixiRenderer.js.map +2 -2
  176. package/dist/Runtime/pixi-renderers/DebuggerPixiRenderer.js.map +2 -2
  177. package/dist/Runtime/pixi-renderers/layer-pixi-renderer.js.map +2 -2
  178. package/dist/Runtime/pixi-renderers/loadingscreen-pixi-renderer.js.map +2 -2
  179. package/dist/Runtime/pixi-renderers/pixi-bitmapfont-manager.js.map +2 -2
  180. package/dist/Runtime/pixi-renderers/pixi-filters-tools.js.map +2 -2
  181. package/dist/Runtime/pixi-renderers/pixi-image-manager.js +1 -1
  182. package/dist/Runtime/pixi-renderers/pixi-image-manager.js.map +2 -2
  183. package/dist/Runtime/pixi-renderers/pixi.js +123 -177
  184. package/dist/Runtime/pixi-renderers/runtimegame-pixi-renderer.js +1 -1
  185. package/dist/Runtime/pixi-renderers/runtimegame-pixi-renderer.js.map +2 -2
  186. package/dist/Runtime/pixi-renderers/runtimescene-pixi-renderer.js.map +2 -2
  187. package/dist/Runtime/pixi-renderers/spriteruntimeobject-pixi-renderer.js.map +2 -2
  188. package/dist/Runtime/profiler.js.map +2 -2
  189. package/dist/Runtime/runtimegame.js +1 -1
  190. package/dist/Runtime/runtimegame.js.map +2 -2
  191. package/dist/Runtime/runtimeobject.js +1 -1
  192. package/dist/Runtime/runtimeobject.js.map +2 -2
  193. package/dist/Runtime/runtimescene.js.map +2 -2
  194. package/dist/Runtime/runtimewatermark.js.map +2 -2
  195. package/dist/Runtime/scenestack.js.map +2 -2
  196. package/dist/Runtime/spriteruntimeobject.js.map +2 -2
  197. package/dist/Runtime/variable.js.map +2 -2
  198. package/dist/Runtime/variablescontainer.js.map +2 -2
  199. package/dist/lib/libGD.cjs +1 -1
  200. package/dist/lib/libGD.wasm +0 -0
  201. package/gd.d.ts +6 -0
  202. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/DialogueTree/dialoguetools.ts"],
4
- "sourcesContent": ["namespace gdjs {\n export namespace dialogueTree {\n const logger = new gdjs.Logger('Dialogue tree');\n\n const runner = new bondage.Runner();\n let commandCalls: Array<any>;\n let clipTextEnd: integer = 0;\n let dialogueText = '';\n let pauseScrolling = false;\n let commandParameters: Array<string> = [];\n let selectedOption: integer = 0;\n let selectedOptionUpdated = false;\n let tagParameters: Array<string> = [];\n let dialogueData:\n | bondage.TextResult\n | bondage.CommandResult\n | bondage.OptionsResult\n | null = null;\n let dialogueIsRunning = false;\n let dialogueDataType: string | null = null;\n let dialogueBranchTitle = '';\n let lineNum: number | number[] = 0;\n let optionsCount = 0;\n let options: Array<string> = [];\n let dialogue: any;\n let dialogueBranchTags: Array<string> = [];\n let dialogueBranchBody = '';\n\n /**\n * Load the Dialogue Tree data of the game. Initialize The Dialogue Tree, so as it can be used in the game.\n * @param sceneVar The variable to load the Dialogue tree data from. The data is a JSON string, created by Yarn.\n * @param startDialogueNode The Dialogue Branch to start the Dialogue Tree from. If left empty, the data will only be loaded, but can later be initialized via another action\n */\n export function loadFromSceneVariable(\n sceneVar: gdjs.Variable,\n startDialogueNode: string\n ) {\n try {\n const yarnData = JSON.parse(sceneVar.getAsString());\n runner.load(yarnData);\n if (startDialogueNode && startDialogueNode.length > 0) {\n gdjs.dialogueTree.startFrom(startDialogueNode);\n }\n } catch (e) {\n logger.error('Error while loading from scene variable: ', e);\n }\n }\n\n /**\n * Load the Dialogue Tree data from a JSON resource.\n *\n * @param instanceContainer The scene where the dialogue is running.\n * @param jsonResourceName The JSON resource where to load the Dialogue Tree data from. The data is a JSON string usually created with [Yarn Dialogue Editor](https://github.com/InfiniteAmmoInc/Yarn).\n * @param startDialogueNode The Dialogue Branch to start the Dialogue Tree from. If left empty, the data will only be loaded, but can later be initialized via another action\n */\n export function loadFromJsonFile(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n jsonResourceName: string,\n startDialogueNode: string\n ) {\n instanceContainer\n .getGame()\n .getJsonManager()\n .loadJson(jsonResourceName, function (error, content) {\n if (error) {\n logger.error(\n 'An error happened while loading JSON resource:',\n error\n );\n } else {\n if (!content) {\n return;\n }\n const yarnData = content as any[];\n try {\n runner.load(yarnData);\n } catch (error) {\n logger.error(\n 'An error happened while loading parsing the dialogue tree data:',\n error\n );\n }\n if (startDialogueNode && startDialogueNode.length > 0) {\n gdjs.dialogueTree.startFrom(startDialogueNode);\n }\n }\n });\n }\n\n /**\n * Stop the currently running dialogue\n */\n export function stopRunningDialogue() {\n dialogueIsRunning = false;\n dialogueData = null;\n dialogueText = '';\n clipTextEnd = 0;\n }\n\n /**\n * Check if the Dialogue Tree is currently parsing data.\n * For example, you can do things like disabling player movement while talking to a NPC.\n */\n export function isRunning() {\n if (\n dialogueIsRunning &&\n !dialogueData &&\n dialogueText &&\n clipTextEnd >= dialogueText.length\n ) {\n dialogueIsRunning = false;\n }\n return dialogueIsRunning;\n }\n\n /**\n * Scroll the clipped text. This can be combined with a timer and user input to control how fast the dialogue line text is scrolling.\n */\n export function scrollClippedText() {\n if (pauseScrolling || !dialogueIsRunning) {\n return;\n }\n\n // Autoscroll commands so the user doesn't have to press again.\n if (\n dialogueData instanceof bondage.CommandResult &&\n dialogueDataType === 'text' &&\n dialogueBranchTitle === dialogueData.data.title &&\n lineNum === dialogueData.lineNum &&\n gdjs.dialogueTree.hasClippedScrollingCompleted()\n ) {\n gdjs.dialogueTree.goToNextDialogueLine();\n return;\n }\n\n // Increment scrolling of clipped text\n if (\n dialogueText &&\n dialogueDataType === 'text' &&\n clipTextEnd < dialogueText.length\n ) {\n clipTextEnd += 1;\n }\n }\n\n /**\n * Scroll the clipped text to its end, so the entire text is printed. This can be useful in keeping the event sheet logic simpler, while supporting more variation.\n */\n export function completeClippedTextScrolling() {\n if (\n pauseScrolling ||\n !dialogueIsRunning ||\n !dialogueText ||\n dialogueDataType !== 'text'\n ) {\n return;\n }\n clipTextEnd = dialogueText.length;\n }\n\n /**\n * Check if text scrolling has completed.\n * Useful to prevent the user from skipping to next line before the current one has been printed fully.\n */\n export function hasClippedScrollingCompleted() {\n if (!dialogueIsRunning || dialogueDataType === '') {\n return false;\n }\n if (\n dialogueData &&\n dialogueText.length > 0 &&\n clipTextEnd >= dialogueText.length\n ) {\n if (gdjs.dialogueTree.getVariable('debug')) {\n logger.warn(\n 'Scroll completed:',\n clipTextEnd,\n '/',\n dialogueText.length\n );\n }\n return true;\n }\n return false;\n }\n\n /**\n * Get the current dialogue line with a scrolling effect (recommended).\n * Used with the scrollClippedText to achieve a classic scrolling text, as well as any <<wait>> effects to pause scrolling.\n */\n export function getClippedLineText() {\n return dialogueIsRunning && dialogueText.length\n ? dialogueText.substring(0, clipTextEnd + 1)\n : '';\n }\n\n /**\n * Get the current complete dialogue line without using any scrolling effects.\n * Note that using this instead getClippedLineText will skip any <<wait>> commands entirely.\n */\n export function getLineText() {\n return dialogueIsRunning && dialogueText.length ? dialogueText : '';\n }\n\n /**\n * Get the number of command parameters in a command with parameters that has been caught by a isCommandCalled condition\n */\n export function commandParametersCount() {\n if (commandParameters.length > 1) {\n return commandParameters.length - 1;\n }\n return 0;\n }\n\n /**\n * Get a command parameter in any command with parameters that has been caught by a isCommandCalled condition\n * @param paramIndex The index of the parameter to get.\n */\n export function getCommandParameter(paramIndex: float) {\n if (paramIndex === -1 && commandParameters.length > 0) {\n return commandParameters[0];\n }\n if (commandParameters.length >= paramIndex + 1) {\n const returnedParam = commandParameters[paramIndex + 1];\n return returnedParam ? returnedParam : '';\n }\n return '';\n }\n\n /**\n * Catch <<commands>> and <<commands with parameters>> from the current Dialogue Line.\n * You can trigger custom logic that relate to the story you are telling during the dialogue.\n *\n * @param command The command you want to check for being called. Write it without the `<<>>`.\n */\n export function isCommandCalled(command: string) {\n if (!dialogueIsRunning) {\n return false;\n }\n if (pauseScrolling || !commandCalls) {\n return false;\n }\n return commandCalls.some(function (call, index) {\n if (clipTextEnd !== 0 && clipTextEnd < call.time) {\n return false;\n }\n if (\n call.cmd === 'wait' &&\n (clipTextEnd === 0 || clipTextEnd !== dialogueText.length)\n ) {\n pauseScrolling = true;\n setTimeout(function () {\n pauseScrolling = false;\n commandCalls.splice(index, 1);\n if (gdjs.dialogueTree.getVariable('debug')) {\n logger.info('CMD:', call);\n }\n }, parseInt(call.params[1], 10));\n }\n if (call.cmd === command) {\n commandParameters = call.params;\n commandCalls.splice(index, 1);\n if (gdjs.dialogueTree.getVariable('debug')) {\n logger.info('CMD:', call);\n }\n return true;\n }\n return false;\n });\n }\n\n /**\n * Internal method to allow for capping option selection.\n */\n function _normalizedOptionIndex(optionIndex: integer) {\n if (optionIndex >= options.length) {\n optionIndex = options.length - 1;\n }\n if (optionIndex < 0) {\n optionIndex = 0;\n }\n return optionIndex;\n }\n\n /**\n * Internal method to allow for cycling option selection.\n */\n function _cycledOptionIndex(optionIndex: integer) {\n if (optionIndex >= options.length) {\n optionIndex = 0;\n }\n if (optionIndex < 0) {\n optionIndex = options.length - 1;\n }\n return optionIndex;\n }\n\n /**\n * Get the text of an option the player can select.\n * Used with getLineOptionsCount to render options for the player when a line of the Options type is parsed\n * @param optionIndex The index of the option you want to get\n */\n export function getLineOption(optionIndex: float) {\n if (!dialogueIsRunning || !options.length) {\n return [];\n }\n optionIndex = _normalizedOptionIndex(optionIndex);\n return options[optionIndex];\n }\n\n /**\n * Get the text of the options the player can select, along with the selection cursor.\n * @param optionSelectionCursor The string used to draw the currently selected option's cursor\n * @param addNewLine when true each option is rendered on a new line.\n */\n export function getLineOptionsText(\n optionSelectionCursor: string,\n addNewLine: boolean\n ) {\n if (!dialogueIsRunning || !options.length) {\n return '';\n }\n let textResult = '';\n options.forEach(function (optionText, index) {\n if (index === selectedOption) {\n textResult += optionSelectionCursor;\n } else {\n textResult += optionSelectionCursor.replace(/.*/g, ' ');\n }\n textResult += optionText;\n if (addNewLine) {\n textResult += '\\n';\n }\n });\n return textResult;\n }\n export function getLineOptionsTextHorizontal(optionSelectionCursor) {\n return gdjs.dialogueTree.getLineOptionsText(optionSelectionCursor, false);\n }\n export function getLineOptionsTextVertical(optionSelectionCursor) {\n return gdjs.dialogueTree.getLineOptionsText(optionSelectionCursor, true);\n }\n\n /**\n * Get the number of options that are presented to the player, during the parsing of an Options type line.\n * @returns The number of options\n */\n export function getLineOptionsCount(): number {\n if (dialogueIsRunning && options.length) {\n return optionsCount;\n }\n return 0;\n }\n\n /**\n * Confirm the currently selected option, during the parsing of an Options type line.\n *\n * This will advance the dialogue tree to the dialogue branch was selected by the player.\n */\n export function confirmSelectOption() {\n if (!dialogueIsRunning) {\n return;\n }\n if (\n dialogueData instanceof bondage.OptionsResult &&\n !selectedOptionUpdated &&\n selectedOption !== -1\n ) {\n commandCalls = [];\n try {\n dialogueData.select(selectedOption);\n try {\n dialogueData = dialogue.next().value;\n } catch (error) {\n logger.error(\n 'Error while confirming in the dialogue tree. Verify if there is a syntax error? Full error is: ',\n error\n );\n return;\n }\n gdjs.dialogueTree.goToNextDialogueLine();\n } catch (error) {\n logger.error(\n `An error happened when trying to access the dialogue branch!`,\n error\n );\n }\n }\n }\n\n /**\n * Select next option during Options type line parsing. Hook this to your game input.\n */\n export function selectNextOption() {\n if (!dialogueIsRunning) {\n return;\n }\n if (_isLineTypeOptions()) {\n selectedOption += 1;\n selectedOption = _cycledOptionIndex(selectedOption);\n selectedOptionUpdated = true;\n }\n }\n\n /**\n * Select previous option during Options type line parsing. Hook this to your game input.\n */\n export function selectPreviousOption() {\n if (!dialogueIsRunning) {\n return;\n }\n if (_isLineTypeOptions()) {\n selectedOption -= 1;\n selectedOption = _cycledOptionIndex(selectedOption);\n selectedOptionUpdated = true;\n }\n }\n\n /**\n * Select option by index during Options type line parsing.\n * @param optionIndex The index of the option to select\n */\n export function selectOption(optionIndex: float) {\n if (!dialogueIsRunning) {\n return;\n }\n if (_isLineTypeOptions()) {\n selectedOption = _normalizedOptionIndex(optionIndex);\n selectedOptionUpdated = true;\n }\n }\n\n /**\n * Get the currently selected option\n * @returns The index of the currently selected option\n */\n export function getSelectedOption(): number {\n if (!dialogueIsRunning) {\n return 0;\n }\n if (_isLineTypeOptions()) {\n return selectedOption;\n }\n return 0;\n }\n\n /**\n * Check when the player has changed option selection since the last call to this function.\n *\n * Can be used to re-render your displayed dialogue options when needed.\n *\n * @returns true if the selected option was updated since the last call to this function\n */\n export function hasSelectedOptionChanged(): boolean {\n if (selectedOptionUpdated) {\n selectedOptionUpdated = false;\n if (selectedOption === -1) {\n selectedOption = 0;\n }\n return true;\n }\n return false;\n }\n\n /**\n * Check the type of the Dialogue Line that is being displayed to the player at the moment.\n *\n * There are three types:\n * - text - regular dialogue text is being parsed at the moment\n * - options - the player has reached a branching choice moment where they must select one of multiple options\n * - command - a <<command>> was called in the background, that can be used to trigger game events, but will not be displayed in the dialogue box.\n *\n * @param type The type you want to check for ( one of the three above )\n */\n export function isDialogueLineType(type: string) {\n if (!dialogueIsRunning) {\n return false;\n }\n if (commandCalls && type === 'command') {\n if (\n commandCalls.some(function (call) {\n return clipTextEnd > call.time && call.cmd === 'wait';\n })\n ) {\n return !pauseScrolling;\n }\n if (commandCalls.length > 0 && commandParameters.length > 0) {\n return true;\n }\n }\n return dialogueDataType === type;\n }\n\n /**\n * Check if a branch exists. It is also used internally whenever you use the start from action.\n * @param branchName The Dialogue Branch name you want to check.\n */\n export function hasDialogueBranch(branchName: string) {\n return (\n runner &&\n runner.yarnNodes &&\n Object.keys(runner.yarnNodes).some(function (node) {\n return node === branchName;\n })\n );\n }\n\n /**\n * Start parsing dialogue from a specified Dialogue tree branch.\n * Can be used if you want to store multiple dialogues inside a single Dialogue tree data set.\n * @param startDialogueNode The Dialogue Branch name you want to start parsing from.\n */\n export function startFrom(startDialogueNode: string) {\n if (!gdjs.dialogueTree.hasDialogueBranch(startDialogueNode)) {\n return;\n }\n optionsCount = 0;\n options = [];\n tagParameters = [];\n try {\n dialogue = runner.run(startDialogueNode);\n } catch (error) {\n logger.error(\n 'Error while setting up the dialogue tree. Verify if there is a syntax error? Full error is: ',\n error\n );\n return;\n }\n dialogueText = '';\n clipTextEnd = 0;\n commandCalls = [];\n commandParameters = [];\n pauseScrolling = false;\n try {\n dialogueData = dialogue.next().value;\n } catch (error) {\n logger.error(\n 'Error while starting the dialogue tree. Verify if there is a syntax error? Full error is: ',\n error\n );\n return;\n }\n if (!dialogueData) {\n return;\n }\n if (\n dialogueData instanceof bondage.TextResult ||\n dialogueData instanceof bondage.CommandResult\n ) {\n dialogueBranchTags = dialogueData.data.tags;\n dialogueBranchTitle = dialogueData.data.title;\n dialogueBranchBody = dialogueData.data.body;\n }\n lineNum = dialogueData.lineNum;\n if (_isLineTypeText()) {\n dialogueDataType = 'text';\n } else {\n if (_isLineTypeOptions()) {\n dialogueDataType = 'options';\n } else {\n dialogueDataType = 'command';\n }\n }\n dialogueIsRunning = true;\n gdjs.dialogueTree.goToNextDialogueLine();\n }\n\n /**\n * Internal methods to check the type of a Dialogue Line\n */\n function _isLineTypeText() {\n return dialogueData instanceof bondage.TextResult;\n }\n function _isLineTypeOptions() {\n return dialogueData instanceof bondage.OptionsResult;\n }\n function _isLineTypeCommand() {\n return dialogueData instanceof bondage.CommandResult;\n }\n\n /**\n * This is the main lifecycle function.It runs once only when the user is advancing the dialogue to the next line.\n * Progress Dialogue to the next line. Hook it to your game input.\n * Note that this action can be influenced by any <<wait>> commands, but they work only if you have at least one isCommandCalled condition.\n */\n export function goToNextDialogueLine() {\n if (pauseScrolling || !dialogueIsRunning) {\n return;\n }\n optionsCount = 0;\n selectedOption = -1;\n selectedOptionUpdated = false;\n if (gdjs.dialogueTree.getVariable('debug')) {\n logger.info('Parsing:', dialogueData);\n }\n if (!dialogueData) {\n gdjs.dialogueTree.stopRunningDialogue();\n } else {\n if (dialogueData instanceof bondage.TextResult) {\n if (\n lineNum === dialogueData.lineNum &&\n dialogueBranchTitle === dialogueData.data.title\n ) {\n clipTextEnd = dialogueText.length - 1;\n dialogueText +=\n (dialogueText === '' ? '' : ' ') + dialogueData.text;\n } else {\n clipTextEnd = 0;\n dialogueText = dialogueData.text;\n }\n dialogueBranchTags = dialogueData.data.tags;\n dialogueBranchTitle = dialogueData.data.title;\n dialogueBranchBody = dialogueData.data.body;\n lineNum = dialogueData.lineNum;\n dialogueDataType = 'text';\n try {\n dialogueData = dialogue.next().value;\n } catch (error) {\n logger.error(\n 'Error while progressing the dialogue tree. Verify if there is a syntax error? Full error is: ',\n error\n );\n return;\n }\n } else {\n if (dialogueData instanceof bondage.OptionsResult) {\n commandCalls = [];\n dialogueDataType = 'options';\n dialogueText = '';\n clipTextEnd = 0;\n optionsCount = dialogueData.options.length;\n options = dialogueData.options;\n selectedOptionUpdated = true;\n } else {\n if (_isLineTypeCommand()) {\n dialogueDataType = 'command';\n const command = dialogueData.text.split(' ');\n\n // If last command was to wait, increase time by one\n const offsetTime =\n commandCalls.length &&\n commandCalls[commandCalls.length - 1].cmd === 'wait'\n ? 1\n : 0;\n commandCalls.push({\n cmd: command[0],\n params: command,\n time: dialogueText.length + offsetTime,\n });\n try {\n dialogueData = dialogue.next().value;\n } catch (error) {\n logger.error(\n 'Error while progressing the dialogue tree. Verify if there is a syntax error? Full error is: ',\n error\n );\n return;\n }\n gdjs.dialogueTree.goToNextDialogueLine();\n } else {\n dialogueDataType = 'unknown';\n }\n }\n }\n }\n }\n\n /**\n * Get the current Dialogue Tree branch title.\n * @returns The current branch title.\n */\n export function getBranchTitle(): string {\n if (dialogueIsRunning) {\n return dialogueBranchTitle;\n }\n return '';\n }\n\n /**\n * Check if the currently parsed Dialogue branch title is a query.\n * @param title The Dialogue Branch name you want to check for.\n */\n export function branchTitleIs(title: string) {\n if (dialogueIsRunning) {\n return dialogueBranchTitle === title;\n }\n return false;\n }\n\n /**\n * Get all the branch tags from the current Dialogue branch as a string. Useful for debugging.\n * @returns The current branch tags, separated by a comma.\n */\n export function getBranchTags(): string {\n if (dialogueIsRunning) {\n return dialogueBranchTags.join(',');\n }\n return '';\n }\n\n /**\n * Get one of the current Dialogue branch tags via index.\n * @param index The index of the Dialogue Branch tag you want to get.\n * @returns The branch tag at the specified index, or an empty string if not found.\n */\n export function getBranchTag(index: float): string {\n if (dialogueIsRunning && dialogueBranchTags.length) {\n if (index > dialogueBranchTags.length - 1) {\n index = dialogueBranchTags.length - 1;\n }\n return dialogueBranchTags[index];\n }\n return '';\n }\n\n /**\n * Check if the current Dialogue branch contains a specific tag.\n * @param query The name of the Dialogue Branch tag you want to check.\n */\n export function branchContainsTag(query: string) {\n tagParameters = [];\n if (dialogueIsRunning && dialogueBranchTags.length) {\n return dialogueBranchTags.some(function (tag) {\n const splitTag = tag.match(/([^\\(]+)\\(([^\\)]+)\\)/i);\n tagParameters = splitTag ? splitTag[2].split(',') : [];\n return splitTag ? splitTag[1] === query : tag === query;\n });\n }\n return false;\n }\n\n /**\n * Get any tag(parameter,anotherParameter) from a tag captured by the branchContainsTag Condition\n * @param paramIndex The index of the tag parameter you want to get.\n * Leaving this empty will result in retrieving the first parameter.\n */\n export function getTagParameter(paramIndex: float) {\n if (dialogueIsRunning && tagParameters.length >= paramIndex) {\n const returnedParam = tagParameters[paramIndex];\n return returnedParam ? returnedParam : '';\n }\n return '';\n }\n\n /**\n * Get a list of all the titles of visited by the player Branches. Useful for debugging.\n */\n export function getVisitedBranchTitles() {\n if (dialogueIsRunning) {\n return Object.keys(runner.visited).join(',');\n }\n return '';\n }\n\n /**\n * Check if a player has visited a Dialogue Branch in the past.\n * @param title The title of the branch to check for.\n * Leaving this empty will check if the current branch title has been visited in the past.\n */\n export function branchTitleHasBeenVisited(title: string) {\n if (!title) {\n title = dialogueBranchTitle;\n }\n return (\n Object.keys(runner.visited).includes(title) && runner.visited[title]\n );\n }\n\n /**\n * Get the entire unparsed text of the current Dialogue Branch\n */\n export function getBranchText() {\n if (dialogueIsRunning) {\n return dialogueBranchBody;\n }\n return '';\n }\n\n /**\n * Get the value of a variable stored in the dialogue state.\n * @param key The variable name\n */\n export function getVariable(key: string): string | float | boolean {\n if (runner.variables && key in runner.variables.data) {\n return runner.variables.get(key);\n }\n return '';\n }\n\n /**\n * Get the value of a variable stored in the dialogue state.\n * @param key The variable name\n */\n export function getVariableAsNumber(key: string): float {\n if (runner.variables && key in runner.variables.data) {\n const value = runner.variables.get(key);\n if (typeof value !== 'number') {\n return parseFloat(value) || 0;\n }\n\n return isFinite(value) ? value : 0;\n }\n return 0;\n }\n\n /**\n * Get the value of a variable stored in the dialogue state.\n * @param key The variable name\n */\n export function getVariableAsString(key: string): string {\n if (runner.variables && key in runner.variables.data) {\n return '' + runner.variables.get(key);\n }\n return '';\n }\n\n /**\n * Check if a specific variable created by the Dialogue parses exists and is equal to a specific value.\n * @param key The name of the variable you want to check the value of\n * @param value The value you want to check against\n */\n export function compareVariable(\n key: string,\n value: string | boolean | number\n ) {\n if (runner.variables && key in runner.variables.data) {\n return runner.variables.get(key) === value;\n }\n return false;\n }\n\n /**\n * Set a specific variable created by the Dialogue parser to a specific value.\n * @param key The name of the variable you want to set the value of\n * @param value The value you want to set\n */\n export function setVariable(key: string, value: string | boolean | number) {\n if (runner.variables) {\n runner.variables.set(key, value);\n }\n }\n\n /**\n * Store the current State of the Dialogue Parser in a specified variable.\n * Can be used to implement persistence in dialogue through your game's Load/Save function.\n * That way you can later load all the dialogue choices the player has made.\n * @param outputVariable The variable where to store the State\n */\n export function saveState(outputVariable: gdjs.Variable) {\n const dialogueState = {\n variables: runner.variables.data,\n visited: runner.visited,\n };\n outputVariable.fromJSObject(dialogueState);\n }\n\n /**\n * Load the current State of the Dialogue Parser from a specified variable.\n * Can be used to implement persistence in dialogue through your game's Load/Save function.\n * That way you can later load all the dialogue choices the player has made.\n * @param inputVariable The structured variable where to load the State from.\n */\n export function loadState(inputVariable: gdjs.Variable) {\n const loadedState = inputVariable.toJSObject();\n if (!loadedState) {\n logger.error('Load state variable is empty:', inputVariable);\n return;\n }\n try {\n runner.visited = loadedState.visited;\n runner.variables.data = {};\n Object.keys(loadedState.variables).forEach(function (key) {\n const value = loadedState.variables[key];\n runner.variables.set(key, value);\n });\n } catch (e) {\n logger.error('Failed to load state from variable:', inputVariable, e);\n }\n }\n\n /**\n * Clear the current State of the Dialogue Parser.\n */\n export function clearState() {\n runner.visited = {};\n runner.variables.data = {};\n }\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["namespace gdjs {\n export namespace dialogueTree {\n const logger = new gdjs.Logger('Dialogue tree');\n\n const runner = new bondage.Runner();\n let commandCalls: Array<any>;\n let clipTextEnd: integer = 0;\n let dialogueText = '';\n let pauseScrolling = false;\n let commandParameters: Array<string> = [];\n let selectedOption: integer = 0;\n let selectedOptionUpdated = false;\n let tagParameters: Array<string> = [];\n let dialogueData:\n | bondage.TextResult\n | bondage.CommandResult\n | bondage.OptionsResult\n | null = null;\n let dialogueIsRunning = false;\n let dialogueDataType: string | null = null;\n let dialogueBranchTitle = '';\n let lineNum: number | number[] = 0;\n let optionsCount = 0;\n let options: Array<string> = [];\n let dialogue: any;\n let dialogueBranchTags: Array<string> = [];\n let dialogueBranchBody = '';\n\n /**\n * Load the Dialogue Tree data of the game. Initialize The Dialogue Tree, so as it can be used in the game.\n * @param sceneVar The variable to load the Dialogue tree data from. The data is a JSON string, created by Yarn.\n * @param startDialogueNode The Dialogue Branch to start the Dialogue Tree from. If left empty, the data will only be loaded, but can later be initialized via another action\n */\n export function loadFromSceneVariable(\n sceneVar: gdjs.Variable,\n startDialogueNode: string\n ) {\n try {\n const yarnData = JSON.parse(sceneVar.getAsString());\n runner.load(yarnData);\n if (startDialogueNode && startDialogueNode.length > 0) {\n gdjs.dialogueTree.startFrom(startDialogueNode);\n }\n } catch (e) {\n logger.error('Error while loading from scene variable: ', e);\n }\n }\n\n /**\n * Load the Dialogue Tree data from a JSON resource.\n *\n * @param instanceContainer The scene where the dialogue is running.\n * @param jsonResourceName The JSON resource where to load the Dialogue Tree data from. The data is a JSON string usually created with [Yarn Dialogue Editor](https://github.com/InfiniteAmmoInc/Yarn).\n * @param startDialogueNode The Dialogue Branch to start the Dialogue Tree from. If left empty, the data will only be loaded, but can later be initialized via another action\n */\n export function loadFromJsonFile(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n jsonResourceName: string,\n startDialogueNode: string\n ) {\n instanceContainer\n .getGame()\n .getJsonManager()\n .loadJson(jsonResourceName, function (error, content) {\n if (error) {\n logger.error(\n 'An error happened while loading JSON resource:',\n error\n );\n } else {\n if (!content) {\n return;\n }\n const yarnData = content as any[];\n try {\n runner.load(yarnData);\n } catch (error) {\n logger.error(\n 'An error happened while loading parsing the dialogue tree data:',\n error\n );\n }\n if (startDialogueNode && startDialogueNode.length > 0) {\n gdjs.dialogueTree.startFrom(startDialogueNode);\n }\n }\n });\n }\n\n /**\n * Stop the currently running dialogue\n */\n export function stopRunningDialogue() {\n dialogueIsRunning = false;\n dialogueData = null;\n dialogueText = '';\n clipTextEnd = 0;\n }\n\n /**\n * Check if the Dialogue Tree is currently parsing data.\n * For example, you can do things like disabling player movement while talking to a NPC.\n */\n export function isRunning() {\n if (\n dialogueIsRunning &&\n !dialogueData &&\n dialogueText &&\n clipTextEnd >= dialogueText.length\n ) {\n dialogueIsRunning = false;\n }\n return dialogueIsRunning;\n }\n\n /**\n * Scroll the clipped text. This can be combined with a timer and user input to control how fast the dialogue line text is scrolling.\n */\n export function scrollClippedText() {\n if (pauseScrolling || !dialogueIsRunning) {\n return;\n }\n\n // Autoscroll commands so the user doesn't have to press again.\n if (\n dialogueData instanceof bondage.CommandResult &&\n dialogueDataType === 'text' &&\n dialogueBranchTitle === dialogueData.data.title &&\n lineNum === dialogueData.lineNum &&\n gdjs.dialogueTree.hasClippedScrollingCompleted()\n ) {\n gdjs.dialogueTree.goToNextDialogueLine();\n return;\n }\n\n // Increment scrolling of clipped text\n if (\n dialogueText &&\n dialogueDataType === 'text' &&\n clipTextEnd < dialogueText.length\n ) {\n clipTextEnd += 1;\n }\n }\n\n /**\n * Scroll the clipped text to its end, so the entire text is printed. This can be useful in keeping the event sheet logic simpler, while supporting more variation.\n */\n export function completeClippedTextScrolling() {\n if (\n pauseScrolling ||\n !dialogueIsRunning ||\n !dialogueText ||\n dialogueDataType !== 'text'\n ) {\n return;\n }\n clipTextEnd = dialogueText.length;\n }\n\n /**\n * Check if text scrolling has completed.\n * Useful to prevent the user from skipping to next line before the current one has been printed fully.\n */\n export function hasClippedScrollingCompleted() {\n if (!dialogueIsRunning || dialogueDataType === '') {\n return false;\n }\n if (\n dialogueData &&\n dialogueText.length > 0 &&\n clipTextEnd >= dialogueText.length\n ) {\n if (gdjs.dialogueTree.getVariable('debug')) {\n logger.warn(\n 'Scroll completed:',\n clipTextEnd,\n '/',\n dialogueText.length\n );\n }\n return true;\n }\n return false;\n }\n\n /**\n * Get the current dialogue line with a scrolling effect (recommended).\n * Used with the scrollClippedText to achieve a classic scrolling text, as well as any <<wait>> effects to pause scrolling.\n */\n export function getClippedLineText() {\n return dialogueIsRunning && dialogueText.length\n ? dialogueText.substring(0, clipTextEnd + 1)\n : '';\n }\n\n /**\n * Get the current complete dialogue line without using any scrolling effects.\n * Note that using this instead getClippedLineText will skip any <<wait>> commands entirely.\n */\n export function getLineText() {\n return dialogueIsRunning && dialogueText.length ? dialogueText : '';\n }\n\n /**\n * Get the number of command parameters in a command with parameters that has been caught by a isCommandCalled condition\n */\n export function commandParametersCount() {\n if (commandParameters.length > 1) {\n return commandParameters.length - 1;\n }\n return 0;\n }\n\n /**\n * Get a command parameter in any command with parameters that has been caught by a isCommandCalled condition\n * @param paramIndex The index of the parameter to get.\n */\n export function getCommandParameter(paramIndex: float) {\n if (paramIndex === -1 && commandParameters.length > 0) {\n return commandParameters[0];\n }\n if (commandParameters.length >= paramIndex + 1) {\n const returnedParam = commandParameters[paramIndex + 1];\n return returnedParam ? returnedParam : '';\n }\n return '';\n }\n\n /**\n * Catch <<commands>> and <<commands with parameters>> from the current Dialogue Line.\n * You can trigger custom logic that relate to the story you are telling during the dialogue.\n *\n * @param command The command you want to check for being called. Write it without the `<<>>`.\n */\n export function isCommandCalled(command: string) {\n if (!dialogueIsRunning) {\n return false;\n }\n if (pauseScrolling || !commandCalls) {\n return false;\n }\n return commandCalls.some(function (call, index) {\n if (clipTextEnd !== 0 && clipTextEnd < call.time) {\n return false;\n }\n if (\n call.cmd === 'wait' &&\n (clipTextEnd === 0 || clipTextEnd !== dialogueText.length)\n ) {\n pauseScrolling = true;\n setTimeout(\n function () {\n pauseScrolling = false;\n commandCalls.splice(index, 1);\n if (gdjs.dialogueTree.getVariable('debug')) {\n logger.info('CMD:', call);\n }\n },\n parseInt(call.params[1], 10)\n );\n }\n if (call.cmd === command) {\n commandParameters = call.params;\n commandCalls.splice(index, 1);\n if (gdjs.dialogueTree.getVariable('debug')) {\n logger.info('CMD:', call);\n }\n return true;\n }\n return false;\n });\n }\n\n /**\n * Internal method to allow for capping option selection.\n */\n function _normalizedOptionIndex(optionIndex: integer) {\n if (optionIndex >= options.length) {\n optionIndex = options.length - 1;\n }\n if (optionIndex < 0) {\n optionIndex = 0;\n }\n return optionIndex;\n }\n\n /**\n * Internal method to allow for cycling option selection.\n */\n function _cycledOptionIndex(optionIndex: integer) {\n if (optionIndex >= options.length) {\n optionIndex = 0;\n }\n if (optionIndex < 0) {\n optionIndex = options.length - 1;\n }\n return optionIndex;\n }\n\n /**\n * Get the text of an option the player can select.\n * Used with getLineOptionsCount to render options for the player when a line of the Options type is parsed\n * @param optionIndex The index of the option you want to get\n */\n export function getLineOption(optionIndex: float) {\n if (!dialogueIsRunning || !options.length) {\n return [];\n }\n optionIndex = _normalizedOptionIndex(optionIndex);\n return options[optionIndex];\n }\n\n /**\n * Get the text of the options the player can select, along with the selection cursor.\n * @param optionSelectionCursor The string used to draw the currently selected option's cursor\n * @param addNewLine when true each option is rendered on a new line.\n */\n export function getLineOptionsText(\n optionSelectionCursor: string,\n addNewLine: boolean\n ) {\n if (!dialogueIsRunning || !options.length) {\n return '';\n }\n let textResult = '';\n options.forEach(function (optionText, index) {\n if (index === selectedOption) {\n textResult += optionSelectionCursor;\n } else {\n textResult += optionSelectionCursor.replace(/.*/g, ' ');\n }\n textResult += optionText;\n if (addNewLine) {\n textResult += '\\n';\n }\n });\n return textResult;\n }\n export function getLineOptionsTextHorizontal(optionSelectionCursor) {\n return gdjs.dialogueTree.getLineOptionsText(optionSelectionCursor, false);\n }\n export function getLineOptionsTextVertical(optionSelectionCursor) {\n return gdjs.dialogueTree.getLineOptionsText(optionSelectionCursor, true);\n }\n\n /**\n * Get the number of options that are presented to the player, during the parsing of an Options type line.\n * @returns The number of options\n */\n export function getLineOptionsCount(): number {\n if (dialogueIsRunning && options.length) {\n return optionsCount;\n }\n return 0;\n }\n\n /**\n * Confirm the currently selected option, during the parsing of an Options type line.\n *\n * This will advance the dialogue tree to the dialogue branch was selected by the player.\n */\n export function confirmSelectOption() {\n if (!dialogueIsRunning) {\n return;\n }\n if (\n dialogueData instanceof bondage.OptionsResult &&\n !selectedOptionUpdated &&\n selectedOption !== -1\n ) {\n commandCalls = [];\n try {\n dialogueData.select(selectedOption);\n try {\n dialogueData = dialogue.next().value;\n } catch (error) {\n logger.error(\n 'Error while confirming in the dialogue tree. Verify if there is a syntax error? Full error is: ',\n error\n );\n return;\n }\n gdjs.dialogueTree.goToNextDialogueLine();\n } catch (error) {\n logger.error(\n `An error happened when trying to access the dialogue branch!`,\n error\n );\n }\n }\n }\n\n /**\n * Select next option during Options type line parsing. Hook this to your game input.\n */\n export function selectNextOption() {\n if (!dialogueIsRunning) {\n return;\n }\n if (_isLineTypeOptions()) {\n selectedOption += 1;\n selectedOption = _cycledOptionIndex(selectedOption);\n selectedOptionUpdated = true;\n }\n }\n\n /**\n * Select previous option during Options type line parsing. Hook this to your game input.\n */\n export function selectPreviousOption() {\n if (!dialogueIsRunning) {\n return;\n }\n if (_isLineTypeOptions()) {\n selectedOption -= 1;\n selectedOption = _cycledOptionIndex(selectedOption);\n selectedOptionUpdated = true;\n }\n }\n\n /**\n * Select option by index during Options type line parsing.\n * @param optionIndex The index of the option to select\n */\n export function selectOption(optionIndex: float) {\n if (!dialogueIsRunning) {\n return;\n }\n if (_isLineTypeOptions()) {\n selectedOption = _normalizedOptionIndex(optionIndex);\n selectedOptionUpdated = true;\n }\n }\n\n /**\n * Get the currently selected option\n * @returns The index of the currently selected option\n */\n export function getSelectedOption(): number {\n if (!dialogueIsRunning) {\n return 0;\n }\n if (_isLineTypeOptions()) {\n return selectedOption;\n }\n return 0;\n }\n\n /**\n * Check when the player has changed option selection since the last call to this function.\n *\n * Can be used to re-render your displayed dialogue options when needed.\n *\n * @returns true if the selected option was updated since the last call to this function\n */\n export function hasSelectedOptionChanged(): boolean {\n if (selectedOptionUpdated) {\n selectedOptionUpdated = false;\n if (selectedOption === -1) {\n selectedOption = 0;\n }\n return true;\n }\n return false;\n }\n\n /**\n * Check the type of the Dialogue Line that is being displayed to the player at the moment.\n *\n * There are three types:\n * - text - regular dialogue text is being parsed at the moment\n * - options - the player has reached a branching choice moment where they must select one of multiple options\n * - command - a <<command>> was called in the background, that can be used to trigger game events, but will not be displayed in the dialogue box.\n *\n * @param type The type you want to check for ( one of the three above )\n */\n export function isDialogueLineType(type: string) {\n if (!dialogueIsRunning) {\n return false;\n }\n if (commandCalls && type === 'command') {\n if (\n commandCalls.some(function (call) {\n return clipTextEnd > call.time && call.cmd === 'wait';\n })\n ) {\n return !pauseScrolling;\n }\n if (commandCalls.length > 0 && commandParameters.length > 0) {\n return true;\n }\n }\n return dialogueDataType === type;\n }\n\n /**\n * Check if a branch exists. It is also used internally whenever you use the start from action.\n * @param branchName The Dialogue Branch name you want to check.\n */\n export function hasDialogueBranch(branchName: string) {\n return (\n runner &&\n runner.yarnNodes &&\n Object.keys(runner.yarnNodes).some(function (node) {\n return node === branchName;\n })\n );\n }\n\n /**\n * Start parsing dialogue from a specified Dialogue tree branch.\n * Can be used if you want to store multiple dialogues inside a single Dialogue tree data set.\n * @param startDialogueNode The Dialogue Branch name you want to start parsing from.\n */\n export function startFrom(startDialogueNode: string) {\n if (!gdjs.dialogueTree.hasDialogueBranch(startDialogueNode)) {\n return;\n }\n optionsCount = 0;\n options = [];\n tagParameters = [];\n try {\n dialogue = runner.run(startDialogueNode);\n } catch (error) {\n logger.error(\n 'Error while setting up the dialogue tree. Verify if there is a syntax error? Full error is: ',\n error\n );\n return;\n }\n dialogueText = '';\n clipTextEnd = 0;\n commandCalls = [];\n commandParameters = [];\n pauseScrolling = false;\n try {\n dialogueData = dialogue.next().value;\n } catch (error) {\n logger.error(\n 'Error while starting the dialogue tree. Verify if there is a syntax error? Full error is: ',\n error\n );\n return;\n }\n if (!dialogueData) {\n return;\n }\n if (\n dialogueData instanceof bondage.TextResult ||\n dialogueData instanceof bondage.CommandResult\n ) {\n dialogueBranchTags = dialogueData.data.tags;\n dialogueBranchTitle = dialogueData.data.title;\n dialogueBranchBody = dialogueData.data.body;\n }\n lineNum = dialogueData.lineNum;\n if (_isLineTypeText()) {\n dialogueDataType = 'text';\n } else {\n if (_isLineTypeOptions()) {\n dialogueDataType = 'options';\n } else {\n dialogueDataType = 'command';\n }\n }\n dialogueIsRunning = true;\n gdjs.dialogueTree.goToNextDialogueLine();\n }\n\n /**\n * Internal methods to check the type of a Dialogue Line\n */\n function _isLineTypeText() {\n return dialogueData instanceof bondage.TextResult;\n }\n function _isLineTypeOptions() {\n return dialogueData instanceof bondage.OptionsResult;\n }\n function _isLineTypeCommand() {\n return dialogueData instanceof bondage.CommandResult;\n }\n\n /**\n * This is the main lifecycle function.It runs once only when the user is advancing the dialogue to the next line.\n * Progress Dialogue to the next line. Hook it to your game input.\n * Note that this action can be influenced by any <<wait>> commands, but they work only if you have at least one isCommandCalled condition.\n */\n export function goToNextDialogueLine() {\n if (pauseScrolling || !dialogueIsRunning) {\n return;\n }\n optionsCount = 0;\n selectedOption = -1;\n selectedOptionUpdated = false;\n if (gdjs.dialogueTree.getVariable('debug')) {\n logger.info('Parsing:', dialogueData);\n }\n if (!dialogueData) {\n gdjs.dialogueTree.stopRunningDialogue();\n } else {\n if (dialogueData instanceof bondage.TextResult) {\n if (\n lineNum === dialogueData.lineNum &&\n dialogueBranchTitle === dialogueData.data.title\n ) {\n clipTextEnd = dialogueText.length - 1;\n dialogueText +=\n (dialogueText === '' ? '' : ' ') + dialogueData.text;\n } else {\n clipTextEnd = 0;\n dialogueText = dialogueData.text;\n }\n dialogueBranchTags = dialogueData.data.tags;\n dialogueBranchTitle = dialogueData.data.title;\n dialogueBranchBody = dialogueData.data.body;\n lineNum = dialogueData.lineNum;\n dialogueDataType = 'text';\n try {\n dialogueData = dialogue.next().value;\n } catch (error) {\n logger.error(\n 'Error while progressing the dialogue tree. Verify if there is a syntax error? Full error is: ',\n error\n );\n return;\n }\n } else {\n if (dialogueData instanceof bondage.OptionsResult) {\n commandCalls = [];\n dialogueDataType = 'options';\n dialogueText = '';\n clipTextEnd = 0;\n optionsCount = dialogueData.options.length;\n options = dialogueData.options;\n selectedOptionUpdated = true;\n } else {\n if (_isLineTypeCommand()) {\n dialogueDataType = 'command';\n const command = dialogueData.text.split(' ');\n\n // If last command was to wait, increase time by one\n const offsetTime =\n commandCalls.length &&\n commandCalls[commandCalls.length - 1].cmd === 'wait'\n ? 1\n : 0;\n commandCalls.push({\n cmd: command[0],\n params: command,\n time: dialogueText.length + offsetTime,\n });\n try {\n dialogueData = dialogue.next().value;\n } catch (error) {\n logger.error(\n 'Error while progressing the dialogue tree. Verify if there is a syntax error? Full error is: ',\n error\n );\n return;\n }\n gdjs.dialogueTree.goToNextDialogueLine();\n } else {\n dialogueDataType = 'unknown';\n }\n }\n }\n }\n }\n\n /**\n * Get the current Dialogue Tree branch title.\n * @returns The current branch title.\n */\n export function getBranchTitle(): string {\n if (dialogueIsRunning) {\n return dialogueBranchTitle;\n }\n return '';\n }\n\n /**\n * Check if the currently parsed Dialogue branch title is a query.\n * @param title The Dialogue Branch name you want to check for.\n */\n export function branchTitleIs(title: string) {\n if (dialogueIsRunning) {\n return dialogueBranchTitle === title;\n }\n return false;\n }\n\n /**\n * Get all the branch tags from the current Dialogue branch as a string. Useful for debugging.\n * @returns The current branch tags, separated by a comma.\n */\n export function getBranchTags(): string {\n if (dialogueIsRunning) {\n return dialogueBranchTags.join(',');\n }\n return '';\n }\n\n /**\n * Get one of the current Dialogue branch tags via index.\n * @param index The index of the Dialogue Branch tag you want to get.\n * @returns The branch tag at the specified index, or an empty string if not found.\n */\n export function getBranchTag(index: float): string {\n if (dialogueIsRunning && dialogueBranchTags.length) {\n if (index > dialogueBranchTags.length - 1) {\n index = dialogueBranchTags.length - 1;\n }\n return dialogueBranchTags[index];\n }\n return '';\n }\n\n /**\n * Check if the current Dialogue branch contains a specific tag.\n * @param query The name of the Dialogue Branch tag you want to check.\n */\n export function branchContainsTag(query: string) {\n tagParameters = [];\n if (dialogueIsRunning && dialogueBranchTags.length) {\n return dialogueBranchTags.some(function (tag) {\n const splitTag = tag.match(/([^\\(]+)\\(([^\\)]+)\\)/i);\n tagParameters = splitTag ? splitTag[2].split(',') : [];\n return splitTag ? splitTag[1] === query : tag === query;\n });\n }\n return false;\n }\n\n /**\n * Get any tag(parameter,anotherParameter) from a tag captured by the branchContainsTag Condition\n * @param paramIndex The index of the tag parameter you want to get.\n * Leaving this empty will result in retrieving the first parameter.\n */\n export function getTagParameter(paramIndex: float) {\n if (dialogueIsRunning && tagParameters.length >= paramIndex) {\n const returnedParam = tagParameters[paramIndex];\n return returnedParam ? returnedParam : '';\n }\n return '';\n }\n\n /**\n * Get a list of all the titles of visited by the player Branches. Useful for debugging.\n */\n export function getVisitedBranchTitles() {\n if (dialogueIsRunning) {\n return Object.keys(runner.visited).join(',');\n }\n return '';\n }\n\n /**\n * Check if a player has visited a Dialogue Branch in the past.\n * @param title The title of the branch to check for.\n * Leaving this empty will check if the current branch title has been visited in the past.\n */\n export function branchTitleHasBeenVisited(title: string) {\n if (!title) {\n title = dialogueBranchTitle;\n }\n return (\n Object.keys(runner.visited).includes(title) && runner.visited[title]\n );\n }\n\n /**\n * Get the entire unparsed text of the current Dialogue Branch\n */\n export function getBranchText() {\n if (dialogueIsRunning) {\n return dialogueBranchBody;\n }\n return '';\n }\n\n /**\n * Get the value of a variable stored in the dialogue state.\n * @param key The variable name\n */\n export function getVariable(key: string): string | float | boolean {\n if (runner.variables && key in runner.variables.data) {\n return runner.variables.get(key);\n }\n return '';\n }\n\n /**\n * Get the value of a variable stored in the dialogue state.\n * @param key The variable name\n */\n export function getVariableAsNumber(key: string): float {\n if (runner.variables && key in runner.variables.data) {\n const value = runner.variables.get(key);\n if (typeof value !== 'number') {\n return parseFloat(value) || 0;\n }\n\n return isFinite(value) ? value : 0;\n }\n return 0;\n }\n\n /**\n * Get the value of a variable stored in the dialogue state.\n * @param key The variable name\n */\n export function getVariableAsString(key: string): string {\n if (runner.variables && key in runner.variables.data) {\n return '' + runner.variables.get(key);\n }\n return '';\n }\n\n /**\n * Check if a specific variable created by the Dialogue parses exists and is equal to a specific value.\n * @param key The name of the variable you want to check the value of\n * @param value The value you want to check against\n */\n export function compareVariable(\n key: string,\n value: string | boolean | number\n ) {\n if (runner.variables && key in runner.variables.data) {\n return runner.variables.get(key) === value;\n }\n return false;\n }\n\n /**\n * Set a specific variable created by the Dialogue parser to a specific value.\n * @param key The name of the variable you want to set the value of\n * @param value The value you want to set\n */\n export function setVariable(key: string, value: string | boolean | number) {\n if (runner.variables) {\n runner.variables.set(key, value);\n }\n }\n\n /**\n * Store the current State of the Dialogue Parser in a specified variable.\n * Can be used to implement persistence in dialogue through your game's Load/Save function.\n * That way you can later load all the dialogue choices the player has made.\n * @param outputVariable The variable where to store the State\n */\n export function saveState(outputVariable: gdjs.Variable) {\n const dialogueState = {\n variables: runner.variables.data,\n visited: runner.visited,\n };\n outputVariable.fromJSObject(dialogueState);\n }\n\n /**\n * Load the current State of the Dialogue Parser from a specified variable.\n * Can be used to implement persistence in dialogue through your game's Load/Save function.\n * That way you can later load all the dialogue choices the player has made.\n * @param inputVariable The structured variable where to load the State from.\n */\n export function loadState(inputVariable: gdjs.Variable) {\n const loadedState = inputVariable.toJSObject();\n if (!loadedState) {\n logger.error('Load state variable is empty:', inputVariable);\n return;\n }\n try {\n runner.visited = loadedState.visited;\n runner.variables.data = {};\n Object.keys(loadedState.variables).forEach(function (key) {\n const value = loadedState.variables[key];\n runner.variables.set(key, value);\n });\n } catch (e) {\n logger.error('Failed to load state from variable:', inputVariable, e);\n }\n }\n\n /**\n * Clear the current State of the Dialogue Parser.\n */\n export function clearState() {\n runner.visited = {};\n runner.variables.data = {};\n }\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/DraggableBehavior/draggableruntimebehavior.ts"],
4
- "sourcesContent": ["/*\nGDevelop - Draggable Behavior Extension\nCopyright (c) 2013-2021 Florian Rival (Florian.Rival@gmail.com)\n */\n\nnamespace gdjs {\n /**\n * The DraggableRuntimeBehavior represents a behavior allowing objects to be\n * moved using the mouse.\n */\n export class DraggableRuntimeBehavior extends gdjs.RuntimeBehavior {\n /**\n * The manager that currently handles the dragging of the owner if any.\n * When the owner is being dragged, no other manager can start dragging it.\n */\n _draggedByDraggableManager: DraggableManager | null = null;\n _checkCollisionMask: boolean;\n _justDropped = false;\n\n constructor(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n behaviorData,\n owner\n ) {\n super(instanceContainer, behaviorData, owner);\n this._checkCollisionMask = behaviorData.checkCollisionMask ? true : false;\n }\n\n updateFromBehaviorData(oldBehaviorData, newBehaviorData): boolean {\n // Nothing to update.\n return true;\n }\n\n onDeActivate() {\n this._endDrag();\n }\n\n onDestroy() {\n this.onDeActivate();\n }\n\n _endDrag() {\n if (this._draggedByDraggableManager) {\n this._draggedByDraggableManager.endDrag();\n this._justDropped = true;\n }\n this._draggedByDraggableManager = null;\n }\n\n _dismissDrag() {\n this._draggedByDraggableManager = null;\n }\n\n _tryBeginDrag(instanceContainer: gdjs.RuntimeInstanceContainer) {\n if (this._draggedByDraggableManager) {\n return false;\n }\n const inputManager = instanceContainer.getGame().getInputManager();\n\n const touchIds = inputManager.getStartedTouchIdentifiers();\n for (let i = 0; i < touchIds.length; ++i) {\n const touchDraggableManager = DraggableManager.getTouchManager(\n instanceContainer,\n touchIds[i]\n );\n if (touchDraggableManager.isDragging(this)) {\n continue;\n }\n if (touchDraggableManager.tryAndTakeDragging(instanceContainer, this)) {\n this._draggedByDraggableManager = touchDraggableManager;\n return true;\n }\n }\n return false;\n }\n\n _shouldEndDrag(instanceContainer: gdjs.RuntimeInstanceContainer) {\n if (!this._draggedByDraggableManager) {\n return false;\n }\n return this._draggedByDraggableManager.shouldEndDrag(\n instanceContainer,\n this\n );\n }\n\n _updateObjectPosition(instanceContainer: gdjs.RuntimeInstanceContainer) {\n if (!this._draggedByDraggableManager) {\n return false;\n }\n this._draggedByDraggableManager.updateObjectPosition(\n instanceContainer,\n this\n );\n return true;\n }\n\n doStepPreEvents(instanceContainer: gdjs.RuntimeInstanceContainer) {\n this._tryBeginDrag(instanceContainer);\n if (this._shouldEndDrag(instanceContainer)) {\n this._endDrag();\n }\n this._updateObjectPosition(instanceContainer);\n }\n\n doStepPostEvents(instanceContainer: gdjs.RuntimeInstanceContainer) {\n this._justDropped = false;\n }\n\n isDragged(): boolean {\n return !!this._draggedByDraggableManager;\n }\n\n wasJustDropped(): boolean {\n return this._justDropped;\n }\n }\n\n /**\n * Handle the dragging\n */\n class DraggableManager {\n private _touchId: integer;\n /**\n * The object has left its original position.\n * When true, the search for the best object to drag has ended.\n */\n protected _draggingSomething = false;\n /**\n * The behavior of the object that is being dragged and that is the best one (i.e: highest Z order) found.\n */\n protected _draggableBehavior: gdjs.DraggableRuntimeBehavior | null = null;\n protected _xOffset: number = 0;\n protected _yOffset: number = 0;\n\n constructor(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n touchId: integer\n ) {\n this._touchId = touchId;\n }\n\n /**\n * Get the platforms manager of an instance container.\n */\n static getTouchManager(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n touchId: integer\n ): DraggableManager {\n // @ts-ignore\n if (!instanceContainer.touchDraggableManagers) {\n //Create the shared manager if necessary.\n // @ts-ignore\n instanceContainer.touchDraggableManagers = [];\n }\n // @ts-ignore\n if (!instanceContainer.touchDraggableManagers[touchId]) {\n //Create the shared manager if necessary.\n // @ts-ignore\n instanceContainer.touchDraggableManagers[\n touchId\n ] = new DraggableManager(instanceContainer, touchId);\n }\n // @ts-ignore\n return instanceContainer.touchDraggableManagers[touchId];\n }\n\n tryAndTakeDragging(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n draggableRuntimeBehavior: DraggableRuntimeBehavior\n ) {\n if (\n this._draggableBehavior &&\n draggableRuntimeBehavior.owner.getZOrder() <=\n this._draggableBehavior.owner.getZOrder()\n ) {\n return false;\n }\n const position = this.getPosition(\n instanceContainer,\n draggableRuntimeBehavior\n );\n if (\n !draggableRuntimeBehavior.owner.insideObject(position[0], position[1])\n ) {\n return false;\n } else if (\n draggableRuntimeBehavior._checkCollisionMask &&\n !draggableRuntimeBehavior.owner.isCollidingWithPoint(\n position[0],\n position[1]\n )\n ) {\n return false;\n }\n if (this._draggableBehavior) {\n // The previous best object to drag will not be dragged.\n this._draggableBehavior._dismissDrag();\n }\n this._draggableBehavior = draggableRuntimeBehavior;\n this._xOffset = position[0] - draggableRuntimeBehavior.owner.getX();\n this._yOffset = position[1] - draggableRuntimeBehavior.owner.getY();\n return true;\n }\n\n updateObjectPosition(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n draggableRuntimeBehavior: DraggableRuntimeBehavior\n ) {\n const position = this.getPosition(\n instanceContainer,\n draggableRuntimeBehavior\n );\n if (\n draggableRuntimeBehavior.owner.getX() != position[0] - this._xOffset ||\n draggableRuntimeBehavior.owner.getY() != position[1] - this._yOffset\n ) {\n draggableRuntimeBehavior.owner.setX(position[0] - this._xOffset);\n draggableRuntimeBehavior.owner.setY(position[1] - this._yOffset);\n this._draggingSomething = true;\n }\n }\n\n endDrag() {\n this._draggingSomething = false;\n this._draggableBehavior = null;\n }\n\n isDragging(draggableRuntimeBehavior: DraggableRuntimeBehavior): boolean {\n return this._draggingSomething;\n }\n\n getPosition(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n draggableRuntimeBehavior: DraggableRuntimeBehavior\n ): FloatPoint {\n const workingPoint: FloatPoint = gdjs.staticArray(\n DraggableManager.prototype.getPosition\n ) as FloatPoint;\n const inputManager = instanceContainer.getGame().getInputManager();\n return instanceContainer\n .getLayer(draggableRuntimeBehavior.owner.getLayer())\n .convertCoords(\n inputManager.getTouchX(this._touchId),\n inputManager.getTouchY(this._touchId),\n 0,\n workingPoint\n );\n }\n\n shouldEndDrag(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n draggableRuntimeBehavior: DraggableRuntimeBehavior\n ): boolean {\n const inputManager = instanceContainer.getGame().getInputManager();\n return inputManager.hasTouchEnded(this._touchId);\n }\n }\n\n gdjs.registerBehavior(\n 'DraggableBehavior::Draggable',\n gdjs.DraggableRuntimeBehavior\n );\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/*\nGDevelop - Draggable Behavior Extension\nCopyright (c) 2013-2021 Florian Rival (Florian.Rival@gmail.com)\n */\n\nnamespace gdjs {\n /**\n * The DraggableRuntimeBehavior represents a behavior allowing objects to be\n * moved using the mouse.\n */\n export class DraggableRuntimeBehavior extends gdjs.RuntimeBehavior {\n /**\n * The manager that currently handles the dragging of the owner if any.\n * When the owner is being dragged, no other manager can start dragging it.\n */\n _draggedByDraggableManager: DraggableManager | null = null;\n _checkCollisionMask: boolean;\n _justDropped = false;\n\n constructor(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n behaviorData,\n owner\n ) {\n super(instanceContainer, behaviorData, owner);\n this._checkCollisionMask = behaviorData.checkCollisionMask ? true : false;\n }\n\n updateFromBehaviorData(oldBehaviorData, newBehaviorData): boolean {\n // Nothing to update.\n return true;\n }\n\n onDeActivate() {\n this._endDrag();\n }\n\n onDestroy() {\n this.onDeActivate();\n }\n\n _endDrag() {\n if (this._draggedByDraggableManager) {\n this._draggedByDraggableManager.endDrag();\n this._justDropped = true;\n }\n this._draggedByDraggableManager = null;\n }\n\n _dismissDrag() {\n this._draggedByDraggableManager = null;\n }\n\n _tryBeginDrag(instanceContainer: gdjs.RuntimeInstanceContainer) {\n if (this._draggedByDraggableManager) {\n return false;\n }\n const inputManager = instanceContainer.getGame().getInputManager();\n\n const touchIds = inputManager.getStartedTouchIdentifiers();\n for (let i = 0; i < touchIds.length; ++i) {\n const touchDraggableManager = DraggableManager.getTouchManager(\n instanceContainer,\n touchIds[i]\n );\n if (touchDraggableManager.isDragging(this)) {\n continue;\n }\n if (touchDraggableManager.tryAndTakeDragging(instanceContainer, this)) {\n this._draggedByDraggableManager = touchDraggableManager;\n return true;\n }\n }\n return false;\n }\n\n _shouldEndDrag(instanceContainer: gdjs.RuntimeInstanceContainer) {\n if (!this._draggedByDraggableManager) {\n return false;\n }\n return this._draggedByDraggableManager.shouldEndDrag(\n instanceContainer,\n this\n );\n }\n\n _updateObjectPosition(instanceContainer: gdjs.RuntimeInstanceContainer) {\n if (!this._draggedByDraggableManager) {\n return false;\n }\n this._draggedByDraggableManager.updateObjectPosition(\n instanceContainer,\n this\n );\n return true;\n }\n\n doStepPreEvents(instanceContainer: gdjs.RuntimeInstanceContainer) {\n this._tryBeginDrag(instanceContainer);\n if (this._shouldEndDrag(instanceContainer)) {\n this._endDrag();\n }\n this._updateObjectPosition(instanceContainer);\n }\n\n doStepPostEvents(instanceContainer: gdjs.RuntimeInstanceContainer) {\n this._justDropped = false;\n }\n\n isDragged(): boolean {\n return !!this._draggedByDraggableManager;\n }\n\n wasJustDropped(): boolean {\n return this._justDropped;\n }\n }\n\n /**\n * Handle the dragging\n */\n class DraggableManager {\n private _touchId: integer;\n /**\n * The object has left its original position.\n * When true, the search for the best object to drag has ended.\n */\n protected _draggingSomething = false;\n /**\n * The behavior of the object that is being dragged and that is the best one (i.e: highest Z order) found.\n */\n protected _draggableBehavior: gdjs.DraggableRuntimeBehavior | null = null;\n protected _xOffset: number = 0;\n protected _yOffset: number = 0;\n\n constructor(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n touchId: integer\n ) {\n this._touchId = touchId;\n }\n\n /**\n * Get the platforms manager of an instance container.\n */\n static getTouchManager(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n touchId: integer\n ): DraggableManager {\n // @ts-ignore\n if (!instanceContainer.touchDraggableManagers) {\n //Create the shared manager if necessary.\n // @ts-ignore\n instanceContainer.touchDraggableManagers = [];\n }\n // @ts-ignore\n if (!instanceContainer.touchDraggableManagers[touchId]) {\n //Create the shared manager if necessary.\n // @ts-ignore\n instanceContainer.touchDraggableManagers[touchId] =\n new DraggableManager(instanceContainer, touchId);\n }\n // @ts-ignore\n return instanceContainer.touchDraggableManagers[touchId];\n }\n\n tryAndTakeDragging(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n draggableRuntimeBehavior: DraggableRuntimeBehavior\n ) {\n if (\n this._draggableBehavior &&\n draggableRuntimeBehavior.owner.getZOrder() <=\n this._draggableBehavior.owner.getZOrder()\n ) {\n return false;\n }\n const position = this.getPosition(\n instanceContainer,\n draggableRuntimeBehavior\n );\n if (\n !draggableRuntimeBehavior.owner.insideObject(position[0], position[1])\n ) {\n return false;\n } else if (\n draggableRuntimeBehavior._checkCollisionMask &&\n !draggableRuntimeBehavior.owner.isCollidingWithPoint(\n position[0],\n position[1]\n )\n ) {\n return false;\n }\n if (this._draggableBehavior) {\n // The previous best object to drag will not be dragged.\n this._draggableBehavior._dismissDrag();\n }\n this._draggableBehavior = draggableRuntimeBehavior;\n this._xOffset = position[0] - draggableRuntimeBehavior.owner.getX();\n this._yOffset = position[1] - draggableRuntimeBehavior.owner.getY();\n return true;\n }\n\n updateObjectPosition(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n draggableRuntimeBehavior: DraggableRuntimeBehavior\n ) {\n const position = this.getPosition(\n instanceContainer,\n draggableRuntimeBehavior\n );\n if (\n draggableRuntimeBehavior.owner.getX() != position[0] - this._xOffset ||\n draggableRuntimeBehavior.owner.getY() != position[1] - this._yOffset\n ) {\n draggableRuntimeBehavior.owner.setX(position[0] - this._xOffset);\n draggableRuntimeBehavior.owner.setY(position[1] - this._yOffset);\n this._draggingSomething = true;\n }\n }\n\n endDrag() {\n this._draggingSomething = false;\n this._draggableBehavior = null;\n }\n\n isDragging(draggableRuntimeBehavior: DraggableRuntimeBehavior): boolean {\n return this._draggingSomething;\n }\n\n getPosition(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n draggableRuntimeBehavior: DraggableRuntimeBehavior\n ): FloatPoint {\n const workingPoint: FloatPoint = gdjs.staticArray(\n DraggableManager.prototype.getPosition\n ) as FloatPoint;\n const inputManager = instanceContainer.getGame().getInputManager();\n return instanceContainer\n .getLayer(draggableRuntimeBehavior.owner.getLayer())\n .convertCoords(\n inputManager.getTouchX(this._touchId),\n inputManager.getTouchY(this._touchId),\n 0,\n workingPoint\n );\n }\n\n shouldEndDrag(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n draggableRuntimeBehavior: DraggableRuntimeBehavior\n ): boolean {\n const inputManager = instanceContainer.getGame().getInputManager();\n return inputManager.hasTouchEnded(this._touchId);\n }\n }\n\n gdjs.registerBehavior(\n 'DraggableBehavior::Draggable',\n gdjs.DraggableRuntimeBehavior\n );\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/adjustment-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface AdjustmentFilterNetworkSyncData {\n ga: number;\n sa: number;\n co: number;\n br: number;\n r: number;\n g: number;\n b: number;\n a: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'Adjustment',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const adjustmentFilter = new PIXI.filters.AdjustmentFilter();\n return adjustmentFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const adjustmentFilter = (filter as unknown) as PIXI.filters.AdjustmentFilter;\n if (parameterName === 'gamma') {\n adjustmentFilter.gamma = value;\n } else if (parameterName === 'saturation') {\n adjustmentFilter.saturation = value;\n } else if (parameterName === 'contrast') {\n adjustmentFilter.contrast = value;\n } else if (parameterName === 'brightness') {\n adjustmentFilter.brightness = value;\n } else if (parameterName === 'red') {\n adjustmentFilter.red = value;\n } else if (parameterName === 'green') {\n adjustmentFilter.green = value;\n } else if (parameterName === 'blue') {\n adjustmentFilter.blue = value;\n } else if (parameterName === 'alpha') {\n adjustmentFilter.alpha = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const adjustmentFilter = (filter as unknown) as PIXI.filters.AdjustmentFilter;\n if (parameterName === 'gamma') {\n return adjustmentFilter.gamma;\n }\n if (parameterName === 'saturation') {\n return adjustmentFilter.saturation;\n }\n if (parameterName === 'contrast') {\n return adjustmentFilter.contrast;\n }\n if (parameterName === 'brightness') {\n return adjustmentFilter.brightness;\n }\n if (parameterName === 'red') {\n return adjustmentFilter.red;\n }\n if (parameterName === 'green') {\n return adjustmentFilter.green;\n }\n if (parameterName === 'blue') {\n return adjustmentFilter.blue;\n }\n if (parameterName === 'alpha') {\n return adjustmentFilter.alpha;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): AdjustmentFilterNetworkSyncData {\n const adjustmentFilter = (filter as unknown) as PIXI.filters.AdjustmentFilter;\n return {\n ga: adjustmentFilter.gamma,\n sa: adjustmentFilter.saturation,\n co: adjustmentFilter.contrast,\n br: adjustmentFilter.brightness,\n r: adjustmentFilter.red,\n g: adjustmentFilter.green,\n b: adjustmentFilter.blue,\n a: adjustmentFilter.alpha,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: AdjustmentFilterNetworkSyncData\n ): void {\n const adjustmentFilter = (filter as unknown) as PIXI.filters.AdjustmentFilter;\n adjustmentFilter.gamma = data.ga;\n adjustmentFilter.saturation = data.sa;\n adjustmentFilter.contrast = data.co;\n adjustmentFilter.brightness = data.br;\n adjustmentFilter.red = data.r;\n adjustmentFilter.green = data.g;\n adjustmentFilter.blue = data.b;\n adjustmentFilter.alpha = data.a;\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,QACpB,EAAiB,MAAQ,EACpB,AAAI,IAAkB,aAC3B,EAAiB,WAAa,EACzB,AAAI,IAAkB,WAC3B,EAAiB,SAAW,EACvB,AAAI,IAAkB,aAC3B,EAAiB,WAAa,EACzB,AAAI,IAAkB,MAC3B,EAAiB,IAAM,EAClB,AAAI,IAAkB,QAC3B,EAAiB,MAAQ,EACpB,AAAI,IAAkB,OAC3B,EAAiB,KAAO,EACf,IAAkB,SAC3B,GAAiB,MAAQ,GAG7B,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAoB,EAC1B,MAAI,KAAkB,QACb,EAAiB,MAEtB,IAAkB,aACb,EAAiB,WAEtB,IAAkB,WACb,EAAiB,SAEtB,IAAkB,aACb,EAAiB,WAEtB,IAAkB,MACb,EAAiB,IAEtB,IAAkB,QACb,EAAiB,MAEtB,IAAkB,OACb,EAAiB,KAEtB,IAAkB,QACb,EAAiB,MAEnB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAsD,CACvE,KAAM,GAAoB,EAC1B,MAAO,CACL,GAAI,EAAiB,MACrB,GAAI,EAAiB,WACrB,GAAI,EAAiB,SACrB,GAAI,EAAiB,WACrB,EAAG,EAAiB,IACpB,EAAG,EAAiB,MACpB,EAAG,EAAiB,KACpB,EAAG,EAAiB,OAGxB,0BACE,EACA,EACM,CACN,KAAM,GAAoB,EAC1B,EAAiB,MAAQ,EAAK,GAC9B,EAAiB,WAAa,EAAK,GACnC,EAAiB,SAAW,EAAK,GACjC,EAAiB,WAAa,EAAK,GACnC,EAAiB,IAAM,EAAK,EAC5B,EAAiB,MAAQ,EAAK,EAC9B,EAAiB,KAAO,EAAK,EAC7B,EAAiB,MAAQ,EAAK,OAlH5B",
4
+ "sourcesContent": ["namespace gdjs {\n interface AdjustmentFilterNetworkSyncData {\n ga: number;\n sa: number;\n co: number;\n br: number;\n r: number;\n g: number;\n b: number;\n a: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'Adjustment',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const adjustmentFilter = new PIXI.filters.AdjustmentFilter();\n return adjustmentFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const adjustmentFilter =\n filter as unknown as PIXI.filters.AdjustmentFilter;\n if (parameterName === 'gamma') {\n adjustmentFilter.gamma = value;\n } else if (parameterName === 'saturation') {\n adjustmentFilter.saturation = value;\n } else if (parameterName === 'contrast') {\n adjustmentFilter.contrast = value;\n } else if (parameterName === 'brightness') {\n adjustmentFilter.brightness = value;\n } else if (parameterName === 'red') {\n adjustmentFilter.red = value;\n } else if (parameterName === 'green') {\n adjustmentFilter.green = value;\n } else if (parameterName === 'blue') {\n adjustmentFilter.blue = value;\n } else if (parameterName === 'alpha') {\n adjustmentFilter.alpha = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const adjustmentFilter =\n filter as unknown as PIXI.filters.AdjustmentFilter;\n if (parameterName === 'gamma') {\n return adjustmentFilter.gamma;\n }\n if (parameterName === 'saturation') {\n return adjustmentFilter.saturation;\n }\n if (parameterName === 'contrast') {\n return adjustmentFilter.contrast;\n }\n if (parameterName === 'brightness') {\n return adjustmentFilter.brightness;\n }\n if (parameterName === 'red') {\n return adjustmentFilter.red;\n }\n if (parameterName === 'green') {\n return adjustmentFilter.green;\n }\n if (parameterName === 'blue') {\n return adjustmentFilter.blue;\n }\n if (parameterName === 'alpha') {\n return adjustmentFilter.alpha;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): AdjustmentFilterNetworkSyncData {\n const adjustmentFilter =\n filter as unknown as PIXI.filters.AdjustmentFilter;\n return {\n ga: adjustmentFilter.gamma,\n sa: adjustmentFilter.saturation,\n co: adjustmentFilter.contrast,\n br: adjustmentFilter.brightness,\n r: adjustmentFilter.red,\n g: adjustmentFilter.green,\n b: adjustmentFilter.blue,\n a: adjustmentFilter.alpha,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: AdjustmentFilterNetworkSyncData\n ): void {\n const adjustmentFilter =\n filter as unknown as PIXI.filters.AdjustmentFilter;\n adjustmentFilter.gamma = data.ga;\n adjustmentFilter.saturation = data.sa;\n adjustmentFilter.contrast = data.co;\n adjustmentFilter.brightness = data.br;\n adjustmentFilter.red = data.r;\n adjustmentFilter.green = data.g;\n adjustmentFilter.blue = data.b;\n adjustmentFilter.alpha = data.a;\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,GACJ,EACF,AAAI,IAAkB,QACpB,EAAiB,MAAQ,EACpB,AAAI,IAAkB,aAC3B,EAAiB,WAAa,EACzB,AAAI,IAAkB,WAC3B,EAAiB,SAAW,EACvB,AAAI,IAAkB,aAC3B,EAAiB,WAAa,EACzB,AAAI,IAAkB,MAC3B,EAAiB,IAAM,EAClB,AAAI,IAAkB,QAC3B,EAAiB,MAAQ,EACpB,AAAI,IAAkB,OAC3B,EAAiB,KAAO,EACf,IAAkB,SAC3B,GAAiB,MAAQ,GAG7B,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GACJ,EACF,MAAI,KAAkB,QACb,EAAiB,MAEtB,IAAkB,aACb,EAAiB,WAEtB,IAAkB,WACb,EAAiB,SAEtB,IAAkB,aACb,EAAiB,WAEtB,IAAkB,MACb,EAAiB,IAEtB,IAAkB,QACb,EAAiB,MAEtB,IAAkB,OACb,EAAiB,KAEtB,IAAkB,QACb,EAAiB,MAEnB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAsD,CACvE,KAAM,GACJ,EACF,MAAO,CACL,GAAI,EAAiB,MACrB,GAAI,EAAiB,WACrB,GAAI,EAAiB,SACrB,GAAI,EAAiB,WACrB,EAAG,EAAiB,IACpB,EAAG,EAAiB,MACpB,EAAG,EAAiB,KACpB,EAAG,EAAiB,OAGxB,0BACE,EACA,EACM,CACN,KAAM,GACJ,EACF,EAAiB,MAAQ,EAAK,GAC9B,EAAiB,WAAa,EAAK,GACnC,EAAiB,SAAW,EAAK,GACjC,EAAiB,WAAa,EAAK,GACnC,EAAiB,IAAM,EAAK,EAC5B,EAAiB,MAAQ,EAAK,EAC9B,EAAiB,KAAO,EAAK,EAC7B,EAAiB,MAAQ,EAAK,OAtH5B",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/advanced-bloom-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface AdvancedBloomFilterNetworkSyncData {\n th: number;\n bs: number;\n bn: number;\n b: number;\n q: number;\n p: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'AdvancedBloom',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const advancedBloomFilter = new PIXI.filters.AdvancedBloomFilter();\n return advancedBloomFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const advancedBloomFilter = (filter as unknown) as PIXI.filters.AdvancedBloomFilter;\n if (parameterName === 'threshold') {\n advancedBloomFilter.threshold = value;\n } else if (parameterName === 'bloomScale') {\n advancedBloomFilter.bloomScale = value;\n } else if (parameterName === 'brightness') {\n advancedBloomFilter.brightness = value;\n } else if (parameterName === 'blur') {\n advancedBloomFilter.blur = value;\n } else if (parameterName === 'quality') {\n advancedBloomFilter.quality = value;\n } else if (parameterName === 'padding') {\n advancedBloomFilter.padding = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const advancedBloomFilter = (filter as unknown) as PIXI.filters.AdvancedBloomFilter;\n if (parameterName === 'threshold') {\n return advancedBloomFilter.threshold;\n }\n if (parameterName === 'bloomScale') {\n return advancedBloomFilter.bloomScale;\n }\n if (parameterName === 'brightness') {\n return advancedBloomFilter.brightness;\n }\n if (parameterName === 'blur') {\n return advancedBloomFilter.blur;\n }\n if (parameterName === 'quality') {\n return advancedBloomFilter.quality;\n }\n if (parameterName === 'padding') {\n return advancedBloomFilter.padding;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(\n filter: PIXI.Filter\n ): AdvancedBloomFilterNetworkSyncData {\n const advancedBloomFilter = (filter as unknown) as PIXI.filters.AdvancedBloomFilter;\n return {\n th: advancedBloomFilter.threshold,\n bs: advancedBloomFilter.bloomScale,\n bn: advancedBloomFilter.brightness,\n b: advancedBloomFilter.blur,\n q: advancedBloomFilter.quality,\n p: advancedBloomFilter.padding,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n syncData: AdvancedBloomFilterNetworkSyncData\n ) {\n const advancedBloomFilter = (filter as unknown) as PIXI.filters.AdvancedBloomFilter;\n advancedBloomFilter.threshold = syncData.th;\n advancedBloomFilter.bloomScale = syncData.bs;\n advancedBloomFilter.brightness = syncData.bn;\n advancedBloomFilter.blur = syncData.b;\n advancedBloomFilter.quality = syncData.q;\n advancedBloomFilter.padding = syncData.p;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CASE,EAAK,iBAAiB,sBACpB,gBACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MAD4B,IAAI,MAAK,QAAQ,oBAG/C,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAuB,EAC7B,AAAI,IAAkB,YACpB,EAAoB,UAAY,EAC3B,AAAI,IAAkB,aAC3B,EAAoB,WAAa,EAC5B,AAAI,IAAkB,aAC3B,EAAoB,WAAa,EAC5B,AAAI,IAAkB,OAC3B,EAAoB,KAAO,EACtB,AAAI,IAAkB,UAC3B,EAAoB,QAAU,EACrB,IAAkB,WAC3B,GAAoB,QAAU,GAGlC,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAuB,EAC7B,MAAI,KAAkB,YACb,EAAoB,UAEzB,IAAkB,aACb,EAAoB,WAEzB,IAAkB,aACb,EAAoB,WAEzB,IAAkB,OACb,EAAoB,KAEzB,IAAkB,UACb,EAAoB,QAEzB,IAAkB,UACb,EAAoB,QAEtB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBACE,EACoC,CACpC,KAAM,GAAuB,EAC7B,MAAO,CACL,GAAI,EAAoB,UACxB,GAAI,EAAoB,WACxB,GAAI,EAAoB,WACxB,EAAG,EAAoB,KACvB,EAAG,EAAoB,QACvB,EAAG,EAAoB,SAG3B,0BACE,EACA,EACA,CACA,KAAM,GAAuB,EAC7B,EAAoB,UAAY,EAAS,GACzC,EAAoB,WAAa,EAAS,GAC1C,EAAoB,WAAa,EAAS,GAC1C,EAAoB,KAAO,EAAS,EACpC,EAAoB,QAAU,EAAS,EACvC,EAAoB,QAAU,EAAS,OApGrC",
4
+ "sourcesContent": ["namespace gdjs {\n interface AdvancedBloomFilterNetworkSyncData {\n th: number;\n bs: number;\n bn: number;\n b: number;\n q: number;\n p: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'AdvancedBloom',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const advancedBloomFilter = new PIXI.filters.AdvancedBloomFilter();\n return advancedBloomFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const advancedBloomFilter =\n filter as unknown as PIXI.filters.AdvancedBloomFilter;\n if (parameterName === 'threshold') {\n advancedBloomFilter.threshold = value;\n } else if (parameterName === 'bloomScale') {\n advancedBloomFilter.bloomScale = value;\n } else if (parameterName === 'brightness') {\n advancedBloomFilter.brightness = value;\n } else if (parameterName === 'blur') {\n advancedBloomFilter.blur = value;\n } else if (parameterName === 'quality') {\n advancedBloomFilter.quality = value;\n } else if (parameterName === 'padding') {\n advancedBloomFilter.padding = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const advancedBloomFilter =\n filter as unknown as PIXI.filters.AdvancedBloomFilter;\n if (parameterName === 'threshold') {\n return advancedBloomFilter.threshold;\n }\n if (parameterName === 'bloomScale') {\n return advancedBloomFilter.bloomScale;\n }\n if (parameterName === 'brightness') {\n return advancedBloomFilter.brightness;\n }\n if (parameterName === 'blur') {\n return advancedBloomFilter.blur;\n }\n if (parameterName === 'quality') {\n return advancedBloomFilter.quality;\n }\n if (parameterName === 'padding') {\n return advancedBloomFilter.padding;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(\n filter: PIXI.Filter\n ): AdvancedBloomFilterNetworkSyncData {\n const advancedBloomFilter =\n filter as unknown as PIXI.filters.AdvancedBloomFilter;\n return {\n th: advancedBloomFilter.threshold,\n bs: advancedBloomFilter.bloomScale,\n bn: advancedBloomFilter.brightness,\n b: advancedBloomFilter.blur,\n q: advancedBloomFilter.quality,\n p: advancedBloomFilter.padding,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n syncData: AdvancedBloomFilterNetworkSyncData\n ) {\n const advancedBloomFilter =\n filter as unknown as PIXI.filters.AdvancedBloomFilter;\n advancedBloomFilter.threshold = syncData.th;\n advancedBloomFilter.bloomScale = syncData.bs;\n advancedBloomFilter.brightness = syncData.bn;\n advancedBloomFilter.blur = syncData.b;\n advancedBloomFilter.quality = syncData.q;\n advancedBloomFilter.padding = syncData.p;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CASE,EAAK,iBAAiB,sBACpB,gBACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MAD4B,IAAI,MAAK,QAAQ,oBAG/C,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GACJ,EACF,AAAI,IAAkB,YACpB,EAAoB,UAAY,EAC3B,AAAI,IAAkB,aAC3B,EAAoB,WAAa,EAC5B,AAAI,IAAkB,aAC3B,EAAoB,WAAa,EAC5B,AAAI,IAAkB,OAC3B,EAAoB,KAAO,EACtB,AAAI,IAAkB,UAC3B,EAAoB,QAAU,EACrB,IAAkB,WAC3B,GAAoB,QAAU,GAGlC,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GACJ,EACF,MAAI,KAAkB,YACb,EAAoB,UAEzB,IAAkB,aACb,EAAoB,WAEzB,IAAkB,aACb,EAAoB,WAEzB,IAAkB,OACb,EAAoB,KAEzB,IAAkB,UACb,EAAoB,QAEzB,IAAkB,UACb,EAAoB,QAEtB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBACE,EACoC,CACpC,KAAM,GACJ,EACF,MAAO,CACL,GAAI,EAAoB,UACxB,GAAI,EAAoB,WACxB,GAAI,EAAoB,WACxB,EAAG,EAAoB,KACvB,EAAG,EAAoB,QACvB,EAAG,EAAoB,SAG3B,0BACE,EACA,EACA,CACA,KAAM,GACJ,EACF,EAAoB,UAAY,EAAS,GACzC,EAAoB,WAAa,EAAS,GAC1C,EAAoB,WAAa,EAAS,GAC1C,EAAoB,KAAO,EAAS,EACpC,EAAoB,QAAU,EAAS,EACvC,EAAoB,QAAU,EAAS,OAxGrC",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/ascii-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface AsciiFilterNetworkSyncData {\n size: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'Ascii',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const asciiFilter = new PIXI.filters.AsciiFilter();\n return asciiFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const asciiFilter = (filter as unknown) as PIXI.filters.AsciiFilter;\n if (parameterName === 'size') {\n asciiFilter.size = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const asciiFilter = (filter as unknown) as PIXI.filters.AsciiFilter;\n if (parameterName === 'size') {\n return asciiFilter.size;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): AsciiFilterNetworkSyncData {\n const asciiFilter = (filter as unknown) as PIXI.filters.AsciiFilter;\n return { size: asciiFilter.size };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: AsciiFilterNetworkSyncData\n ) {\n const asciiFilter = (filter as unknown) as PIXI.filters.AsciiFilter;\n asciiFilter.size = data.size;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAIE,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,EACrB,AAAI,IAAkB,QACpB,GAAY,KAAO,GAGvB,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAe,EACrB,MAAI,KAAkB,OACb,EAAY,KAEd,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAiD,CAElE,MAAO,CAAE,KAAM,AADM,EACM,MAE7B,0BACE,EACA,EACA,CACA,KAAM,GAAe,EACrB,EAAY,KAAO,EAAK,UAxDtB",
4
+ "sourcesContent": ["namespace gdjs {\n interface AsciiFilterNetworkSyncData {\n size: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'Ascii',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const asciiFilter = new PIXI.filters.AsciiFilter();\n return asciiFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const asciiFilter = filter as unknown as PIXI.filters.AsciiFilter;\n if (parameterName === 'size') {\n asciiFilter.size = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const asciiFilter = filter as unknown as PIXI.filters.AsciiFilter;\n if (parameterName === 'size') {\n return asciiFilter.size;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): AsciiFilterNetworkSyncData {\n const asciiFilter = filter as unknown as PIXI.filters.AsciiFilter;\n return { size: asciiFilter.size };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: AsciiFilterNetworkSyncData\n ) {\n const asciiFilter = filter as unknown as PIXI.filters.AsciiFilter;\n asciiFilter.size = data.size;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAIE,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,GAAc,EACpB,AAAI,IAAkB,QACpB,GAAY,KAAO,GAGvB,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAc,EACpB,MAAI,KAAkB,OACb,EAAY,KAEd,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAiD,CAElE,MAAO,CAAE,KAAM,AADK,EACO,MAE7B,0BACE,EACA,EACA,CACA,KAAM,GAAc,EACpB,EAAY,KAAO,EAAK,UAxDtB",
6
6
  "names": []
7
7
  }
@@ -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.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",
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,GAAc,EAEpB,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,GAAc,EAEpB,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,GAAc,EAEpB,AAAI,IAAkB,cACpB,GAAY,WAAa,EAAK,uBAAuB,IAEnD,IAAkB,eACpB,GAAY,YAAc,EAAK,uBAAuB,IAG1D,qBACE,EACA,EACA,EACM,CACN,KAAM,GAAc,EAEpB,AAAI,IAAkB,cACpB,GAAY,WAAa,GAEvB,IAAkB,eACpB,GAAY,YAAc,GAG9B,kBAAkB,EAAqB,EAA+B,CACpE,KAAM,GAAc,EACpB,MAAI,KAAkB,aACb,EAAY,WAEjB,IAAkB,cACb,EAAY,YAEd,EAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAiD,CAClE,KAAM,GAAc,EAEpB,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,GAAc,EAEpB,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,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/black-and-white-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface BlackAndWhiteFilterNetworkSyncData {\n a: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'BlackAndWhite',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const colorMatrix = new PIXI.ColorMatrixFilter();\n colorMatrix.blackAndWhite(false);\n return colorMatrix;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const colorMatrix = (filter as unknown) as PIXI.ColorMatrixFilter;\n if (parameterName !== 'opacity') {\n return;\n }\n colorMatrix.alpha = gdjs.PixiFiltersTools.clampValue(value, 0, 1);\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const colorMatrix = (filter as unknown) as PIXI.ColorMatrixFilter;\n if (parameterName === 'opacity') {\n return colorMatrix.alpha;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(\n filter: PIXI.Filter\n ): BlackAndWhiteFilterNetworkSyncData {\n const colorMatrix = (filter as unknown) as PIXI.ColorMatrixFilter;\n return { a: colorMatrix.alpha };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: BlackAndWhiteFilterNetworkSyncData\n ) {\n const colorMatrix = (filter as unknown) as PIXI.ColorMatrixFilter;\n colorMatrix.alpha = data.a;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAIE,EAAK,iBAAiB,sBACpB,gBACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAChD,KAAM,GAAc,GAAI,MAAK,kBAC7B,SAAY,cAAc,IACnB,EAET,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAe,EACrB,AAAI,IAAkB,WAGtB,GAAY,MAAQ,EAAK,iBAAiB,WAAW,EAAO,EAAG,IAEjE,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAe,EACrB,MAAI,KAAkB,UACb,EAAY,MAEd,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBACE,EACoC,CAEpC,MAAO,CAAE,EAAG,AADS,EACG,OAE1B,0BACE,EACA,EACA,CACA,KAAM,GAAe,EACrB,EAAY,MAAQ,EAAK,OA5DvB",
4
+ "sourcesContent": ["namespace gdjs {\n interface BlackAndWhiteFilterNetworkSyncData {\n a: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'BlackAndWhite',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const colorMatrix = new PIXI.ColorMatrixFilter();\n colorMatrix.blackAndWhite(false);\n return colorMatrix;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const colorMatrix = filter as unknown as PIXI.ColorMatrixFilter;\n if (parameterName !== 'opacity') {\n return;\n }\n colorMatrix.alpha = gdjs.PixiFiltersTools.clampValue(value, 0, 1);\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const colorMatrix = filter as unknown as PIXI.ColorMatrixFilter;\n if (parameterName === 'opacity') {\n return colorMatrix.alpha;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(\n filter: PIXI.Filter\n ): BlackAndWhiteFilterNetworkSyncData {\n const colorMatrix = filter as unknown as PIXI.ColorMatrixFilter;\n return { a: colorMatrix.alpha };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: BlackAndWhiteFilterNetworkSyncData\n ) {\n const colorMatrix = filter as unknown as PIXI.ColorMatrixFilter;\n colorMatrix.alpha = data.a;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAIE,EAAK,iBAAiB,sBACpB,gBACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAChD,KAAM,GAAc,GAAI,MAAK,kBAC7B,SAAY,cAAc,IACnB,EAET,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAc,EACpB,AAAI,IAAkB,WAGtB,GAAY,MAAQ,EAAK,iBAAiB,WAAW,EAAO,EAAG,IAEjE,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAc,EACpB,MAAI,KAAkB,UACb,EAAY,MAEd,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBACE,EACoC,CAEpC,MAAO,CAAE,EAAG,AADQ,EACI,OAE1B,0BACE,EACA,EACA,CACA,KAAM,GAAc,EACpB,EAAY,MAAQ,EAAK,OA5DvB",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/blending-mode-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface BlendingModeFilterNetworkSyncData {\n a: number;\n bm: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'BlendingMode',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const blendingModeFilter = new PIXI.AlphaFilter();\n return blendingModeFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const blendingModeFilter = (filter as unknown) as PIXI.AlphaFilter;\n if (parameterName === 'alpha') {\n blendingModeFilter.alpha = value;\n } else if (parameterName === 'blendmode') {\n blendingModeFilter.blendMode = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const blendingModeFilter = (filter as unknown) as PIXI.AlphaFilter;\n if (parameterName === 'alpha') {\n return blendingModeFilter.alpha;\n }\n if (parameterName === 'blendmode') {\n return blendingModeFilter.blendMode;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(\n filter: PIXI.Filter\n ): BlendingModeFilterNetworkSyncData {\n const blendingModeFilter = (filter as unknown) as PIXI.AlphaFilter;\n return {\n a: blendingModeFilter.alpha,\n bm: blendingModeFilter.blendMode,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: BlendingModeFilterNetworkSyncData\n ) {\n const blendingModeFilter = (filter as unknown) as PIXI.AlphaFilter;\n blendingModeFilter.alpha = data.a;\n blendingModeFilter.blendMode = data.bm;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAKE,EAAK,iBAAiB,sBACpB,eACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MAD2B,IAAI,MAAK,YAGtC,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAsB,EAC5B,AAAI,IAAkB,QACpB,EAAmB,MAAQ,EAClB,IAAkB,aAC3B,GAAmB,UAAY,GAGnC,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAsB,EAC5B,MAAI,KAAkB,QACb,EAAmB,MAExB,IAAkB,YACb,EAAmB,UAErB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBACE,EACmC,CACnC,KAAM,GAAsB,EAC5B,MAAO,CACL,EAAG,EAAmB,MACtB,GAAI,EAAmB,WAG3B,0BACE,EACA,EACA,CACA,KAAM,GAAsB,EAC5B,EAAmB,MAAQ,EAAK,EAChC,EAAmB,UAAY,EAAK,QApElC",
4
+ "sourcesContent": ["namespace gdjs {\n interface BlendingModeFilterNetworkSyncData {\n a: number;\n bm: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'BlendingMode',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const blendingModeFilter = new PIXI.AlphaFilter();\n return blendingModeFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const blendingModeFilter = filter as unknown as PIXI.AlphaFilter;\n if (parameterName === 'alpha') {\n blendingModeFilter.alpha = value;\n } else if (parameterName === 'blendmode') {\n blendingModeFilter.blendMode = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const blendingModeFilter = filter as unknown as PIXI.AlphaFilter;\n if (parameterName === 'alpha') {\n return blendingModeFilter.alpha;\n }\n if (parameterName === 'blendmode') {\n return blendingModeFilter.blendMode;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(\n filter: PIXI.Filter\n ): BlendingModeFilterNetworkSyncData {\n const blendingModeFilter = filter as unknown as PIXI.AlphaFilter;\n return {\n a: blendingModeFilter.alpha,\n bm: blendingModeFilter.blendMode,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: BlendingModeFilterNetworkSyncData\n ) {\n const blendingModeFilter = filter as unknown as PIXI.AlphaFilter;\n blendingModeFilter.alpha = data.a;\n blendingModeFilter.blendMode = data.bm;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAKE,EAAK,iBAAiB,sBACpB,eACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAEhD,MAD2B,IAAI,MAAK,YAGtC,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAqB,EAC3B,AAAI,IAAkB,QACpB,EAAmB,MAAQ,EAClB,IAAkB,aAC3B,GAAmB,UAAY,GAGnC,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAqB,EAC3B,MAAI,KAAkB,QACb,EAAmB,MAExB,IAAkB,YACb,EAAmB,UAErB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBACE,EACmC,CACnC,KAAM,GAAqB,EAC3B,MAAO,CACL,EAAG,EAAmB,MACtB,GAAI,EAAmB,WAG3B,0BACE,EACA,EACA,CACA,KAAM,GAAqB,EAC3B,EAAmB,MAAQ,EAAK,EAChC,EAAmB,UAAY,EAAK,QApElC",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/brightness-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface BrightnessFilterExtra {\n /** It allows to get back the value as the filter uses a matrix. */\n __brightness: number;\n }\n interface BrightnessFilterNetworkSyncData {\n b: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'Brightness',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const brightness = new PIXI.ColorMatrixFilter();\n brightness.brightness(1, false);\n return brightness;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const brightnessFilter = (filter as unknown) as PIXI.ColorMatrixFilter &\n BrightnessFilterExtra;\n if (parameterName !== 'brightness') {\n return;\n }\n const brightness = gdjs.PixiFiltersTools.clampValue(value, 0, 1);\n brightnessFilter.__brightness = brightness;\n brightnessFilter.brightness(brightness, false);\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const brightnessFilter = (filter as unknown) as PIXI.ColorMatrixFilter &\n BrightnessFilterExtra;\n if (parameterName === 'brightness') {\n return brightnessFilter.__brightness;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): BrightnessFilterNetworkSyncData {\n const brightnessFilter = (filter as unknown) as PIXI.ColorMatrixFilter &\n BrightnessFilterExtra;\n return { b: brightnessFilter.__brightness };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: BrightnessFilterNetworkSyncData\n ) {\n const brightnessFilter = (filter as unknown) as PIXI.ColorMatrixFilter &\n BrightnessFilterExtra;\n brightnessFilter.__brightness = data.b;\n brightnessFilter.brightness(data.b, false);\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAQE,EAAK,iBAAiB,sBACpB,aACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAChD,KAAM,GAAa,GAAI,MAAK,kBAC5B,SAAW,WAAW,EAAG,IAClB,EAET,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAoB,EAE1B,GAAI,IAAkB,aACpB,OAEF,KAAM,GAAa,EAAK,iBAAiB,WAAW,EAAO,EAAG,GAC9D,EAAiB,aAAe,EAChC,EAAiB,WAAW,EAAY,IAE1C,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAoB,EAE1B,MAAI,KAAkB,aACb,EAAiB,aAEnB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAsD,CAGvE,MAAO,CAAE,EAAG,AAFc,EAEG,cAE/B,0BACE,EACA,EACA,CACA,KAAM,GAAoB,EAE1B,EAAiB,aAAe,EAAK,EACrC,EAAiB,WAAW,EAAK,EAAG,SArElC",
4
+ "sourcesContent": ["namespace gdjs {\n interface BrightnessFilterExtra {\n /** It allows to get back the value as the filter uses a matrix. */\n __brightness: number;\n }\n interface BrightnessFilterNetworkSyncData {\n b: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'Brightness',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const brightness = new PIXI.ColorMatrixFilter();\n brightness.brightness(1, false);\n return brightness;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const brightnessFilter = filter as unknown as PIXI.ColorMatrixFilter &\n BrightnessFilterExtra;\n if (parameterName !== 'brightness') {\n return;\n }\n const brightness = gdjs.PixiFiltersTools.clampValue(value, 0, 1);\n brightnessFilter.__brightness = brightness;\n brightnessFilter.brightness(brightness, false);\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const brightnessFilter = filter as unknown as PIXI.ColorMatrixFilter &\n BrightnessFilterExtra;\n if (parameterName === 'brightness') {\n return brightnessFilter.__brightness;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): BrightnessFilterNetworkSyncData {\n const brightnessFilter = filter as unknown as PIXI.ColorMatrixFilter &\n BrightnessFilterExtra;\n return { b: brightnessFilter.__brightness };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: BrightnessFilterNetworkSyncData\n ) {\n const brightnessFilter = filter as unknown as PIXI.ColorMatrixFilter &\n BrightnessFilterExtra;\n brightnessFilter.__brightness = data.b;\n brightnessFilter.brightness(data.b, false);\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAQE,EAAK,iBAAiB,sBACpB,aACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAChD,KAAM,GAAa,GAAI,MAAK,kBAC5B,SAAW,WAAW,EAAG,IAClB,EAET,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAmB,EAEzB,GAAI,IAAkB,aACpB,OAEF,KAAM,GAAa,EAAK,iBAAiB,WAAW,EAAO,EAAG,GAC9D,EAAiB,aAAe,EAChC,EAAiB,WAAW,EAAY,IAE1C,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAmB,EAEzB,MAAI,KAAkB,aACb,EAAiB,aAEnB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAsD,CAGvE,MAAO,CAAE,EAAG,AAFa,EAEI,cAE/B,0BACE,EACA,EACA,CACA,KAAM,GAAmB,EAEzB,EAAiB,aAAe,EAAK,EACrC,EAAiB,WAAW,EAAK,EAAG,SArElC",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/bulge-pinch-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface BulgePinchFilterNetworkSyncData {\n cx: number;\n cy: number;\n r: number;\n s: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'BulgePinch',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const bulgePinchFilter = new PIXI.filters.BulgePinchFilter();\n return bulgePinchFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const bulgePinchFilter = (filter as unknown) as PIXI.filters.BulgePinchFilter;\n if (parameterName === 'centerX') {\n bulgePinchFilter.center[0] = value;\n } else if (parameterName === 'centerY') {\n bulgePinchFilter.center[1] = value;\n } else if (parameterName === 'radius') {\n bulgePinchFilter.radius = value;\n } else if (parameterName === 'strength') {\n bulgePinchFilter.strength = gdjs.PixiFiltersTools.clampValue(\n value,\n -1,\n 1\n );\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const bulgePinchFilter = (filter as unknown) as PIXI.filters.BulgePinchFilter;\n if (parameterName === 'centerX') {\n return bulgePinchFilter.center[0];\n }\n if (parameterName === 'centerY') {\n return bulgePinchFilter.center[1];\n }\n if (parameterName === 'radius') {\n return bulgePinchFilter.radius;\n }\n if (parameterName === 'strength') {\n return bulgePinchFilter.strength;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): BulgePinchFilterNetworkSyncData {\n const bulgePinchFilter = (filter as unknown) as PIXI.filters.BulgePinchFilter;\n return {\n cx: bulgePinchFilter.center[0],\n cy: bulgePinchFilter.center[1],\n r: bulgePinchFilter.radius,\n s: bulgePinchFilter.strength,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: BulgePinchFilterNetworkSyncData\n ) {\n const bulgePinchFilter = (filter as unknown) as PIXI.filters.BulgePinchFilter;\n bulgePinchFilter.center[0] = data.cx;\n bulgePinchFilter.center[1] = data.cy;\n bulgePinchFilter.radius = data.r;\n bulgePinchFilter.strength = data.s;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAOE,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,UACpB,EAAiB,OAAO,GAAK,EACxB,AAAI,IAAkB,UAC3B,EAAiB,OAAO,GAAK,EACxB,AAAI,IAAkB,SAC3B,EAAiB,OAAS,EACjB,IAAkB,YAC3B,GAAiB,SAAW,EAAK,iBAAiB,WAChD,EACA,GACA,IAIN,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAoB,EAC1B,MAAI,KAAkB,UACb,EAAiB,OAAO,GAE7B,IAAkB,UACb,EAAiB,OAAO,GAE7B,IAAkB,SACb,EAAiB,OAEtB,IAAkB,WACb,EAAiB,SAEnB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAsD,CACvE,KAAM,GAAoB,EAC1B,MAAO,CACL,GAAI,EAAiB,OAAO,GAC5B,GAAI,EAAiB,OAAO,GAC5B,EAAG,EAAiB,OACpB,EAAG,EAAiB,UAGxB,0BACE,EACA,EACA,CACA,KAAM,GAAoB,EAC1B,EAAiB,OAAO,GAAK,EAAK,GAClC,EAAiB,OAAO,GAAK,EAAK,GAClC,EAAiB,OAAS,EAAK,EAC/B,EAAiB,SAAW,EAAK,OAtF/B",
4
+ "sourcesContent": ["namespace gdjs {\n interface BulgePinchFilterNetworkSyncData {\n cx: number;\n cy: number;\n r: number;\n s: number;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'BulgePinch',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const bulgePinchFilter = new PIXI.filters.BulgePinchFilter();\n return bulgePinchFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const bulgePinchFilter =\n filter as unknown as PIXI.filters.BulgePinchFilter;\n if (parameterName === 'centerX') {\n bulgePinchFilter.center[0] = value;\n } else if (parameterName === 'centerY') {\n bulgePinchFilter.center[1] = value;\n } else if (parameterName === 'radius') {\n bulgePinchFilter.radius = value;\n } else if (parameterName === 'strength') {\n bulgePinchFilter.strength = gdjs.PixiFiltersTools.clampValue(\n value,\n -1,\n 1\n );\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const bulgePinchFilter =\n filter as unknown as PIXI.filters.BulgePinchFilter;\n if (parameterName === 'centerX') {\n return bulgePinchFilter.center[0];\n }\n if (parameterName === 'centerY') {\n return bulgePinchFilter.center[1];\n }\n if (parameterName === 'radius') {\n return bulgePinchFilter.radius;\n }\n if (parameterName === 'strength') {\n return bulgePinchFilter.strength;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {}\n getNetworkSyncData(filter: PIXI.Filter): BulgePinchFilterNetworkSyncData {\n const bulgePinchFilter =\n filter as unknown as PIXI.filters.BulgePinchFilter;\n return {\n cx: bulgePinchFilter.center[0],\n cy: bulgePinchFilter.center[1],\n r: bulgePinchFilter.radius,\n s: bulgePinchFilter.strength,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: BulgePinchFilterNetworkSyncData\n ) {\n const bulgePinchFilter =\n filter as unknown as PIXI.filters.BulgePinchFilter;\n bulgePinchFilter.center[0] = data.cx;\n bulgePinchFilter.center[1] = data.cy;\n bulgePinchFilter.radius = data.r;\n bulgePinchFilter.strength = data.s;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAOE,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,GACJ,EACF,AAAI,IAAkB,UACpB,EAAiB,OAAO,GAAK,EACxB,AAAI,IAAkB,UAC3B,EAAiB,OAAO,GAAK,EACxB,AAAI,IAAkB,SAC3B,EAAiB,OAAS,EACjB,IAAkB,YAC3B,GAAiB,SAAW,EAAK,iBAAiB,WAChD,EACA,GACA,IAIN,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GACJ,EACF,MAAI,KAAkB,UACb,EAAiB,OAAO,GAE7B,IAAkB,UACb,EAAiB,OAAO,GAE7B,IAAkB,SACb,EAAiB,OAEtB,IAAkB,WACb,EAAiB,SAEnB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,EACF,mBAAmB,EAAsD,CACvE,KAAM,GACJ,EACF,MAAO,CACL,GAAI,EAAiB,OAAO,GAC5B,GAAI,EAAiB,OAAO,GAC5B,EAAG,EAAiB,OACpB,EAAG,EAAiB,UAGxB,0BACE,EACA,EACA,CACA,KAAM,GACJ,EACF,EAAiB,OAAO,GAAK,EAAK,GAClC,EAAiB,OAAO,GAAK,EAAK,GAClC,EAAiB,OAAS,EAAK,EAC/B,EAAiB,SAAW,EAAK,OA1F/B",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/color-map-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface ColorMapFilterNetworkSyncData {\n mix: number;\n near: boolean;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'ColorMap',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const colorMapTexture = target\n .getRuntimeScene()\n .getGame()\n .getImageManager()\n .getPIXITexture(effectData.stringParameters.colorMapTexture);\n const colorMapFilter = new PIXI.filters.ColorMapFilter(\n colorMapTexture,\n effectData.booleanParameters.nearest,\n gdjs.PixiFiltersTools.clampValue(\n effectData.doubleParameters.mix / 100,\n 0,\n 1\n )\n );\n return colorMapFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const colorMapFilter = (filter as unknown) as PIXI.filters.ColorMapFilter;\n if (parameterName === 'mix') {\n colorMapFilter.mix = gdjs.PixiFiltersTools.clampValue(\n value / 100,\n 0,\n 1\n );\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const colorMapFilter = (filter as unknown) as PIXI.filters.ColorMapFilter;\n if (parameterName === 'mix') {\n return colorMapFilter.mix;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {\n const colorMapFilter = (filter as unknown) as PIXI.filters.ColorMapFilter;\n if (parameterName === 'nearest') {\n colorMapFilter.nearest = value;\n }\n }\n getNetworkSyncData(filter: PIXI.Filter): ColorMapFilterNetworkSyncData {\n const colorMapFilter = (filter as unknown) as PIXI.filters.ColorMapFilter;\n return { mix: colorMapFilter.mix, near: colorMapFilter.nearest };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: ColorMapFilterNetworkSyncData\n ) {\n const colorMapFilter = (filter as unknown) as PIXI.filters.ColorMapFilter;\n colorMapFilter.mix = data.mix;\n colorMapFilter.nearest = data.near;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAKE,EAAK,iBAAiB,sBACpB,WACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAChD,KAAM,GAAkB,EACrB,kBACA,UACA,kBACA,eAAe,EAAW,iBAAiB,iBAU9C,MATuB,IAAI,MAAK,QAAQ,eACtC,EACA,EAAW,kBAAkB,QAC7B,EAAK,iBAAiB,WACpB,EAAW,iBAAiB,IAAM,IAClC,EACA,IAKN,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAkB,EACxB,AAAI,IAAkB,OACpB,GAAe,IAAM,EAAK,iBAAiB,WACzC,EAAQ,IACR,EACA,IAIN,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAkB,EACxB,MAAI,KAAkB,MACb,EAAe,IAEjB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,CACA,KAAM,GAAkB,EACxB,AAAI,IAAkB,WACpB,GAAe,QAAU,GAG7B,mBAAmB,EAAoD,CACrE,KAAM,GAAkB,EACxB,MAAO,CAAE,IAAK,EAAe,IAAK,KAAM,EAAe,SAEzD,0BACE,EACA,EACA,CACA,KAAM,GAAkB,EACxB,EAAe,IAAM,EAAK,IAC1B,EAAe,QAAU,EAAK,UAhF5B",
4
+ "sourcesContent": ["namespace gdjs {\n interface ColorMapFilterNetworkSyncData {\n mix: number;\n near: boolean;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'ColorMap',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(target: EffectsTarget, effectData) {\n const colorMapTexture = target\n .getRuntimeScene()\n .getGame()\n .getImageManager()\n .getPIXITexture(effectData.stringParameters.colorMapTexture);\n const colorMapFilter = new PIXI.filters.ColorMapFilter(\n colorMapTexture,\n effectData.booleanParameters.nearest,\n gdjs.PixiFiltersTools.clampValue(\n effectData.doubleParameters.mix / 100,\n 0,\n 1\n )\n );\n return colorMapFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {}\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const colorMapFilter = filter as unknown as PIXI.filters.ColorMapFilter;\n if (parameterName === 'mix') {\n colorMapFilter.mix = gdjs.PixiFiltersTools.clampValue(\n value / 100,\n 0,\n 1\n );\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const colorMapFilter = filter as unknown as PIXI.filters.ColorMapFilter;\n if (parameterName === 'mix') {\n return colorMapFilter.mix;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {\n const colorMapFilter = filter as unknown as PIXI.filters.ColorMapFilter;\n if (parameterName === 'nearest') {\n colorMapFilter.nearest = value;\n }\n }\n getNetworkSyncData(filter: PIXI.Filter): ColorMapFilterNetworkSyncData {\n const colorMapFilter = filter as unknown as PIXI.filters.ColorMapFilter;\n return { mix: colorMapFilter.mix, near: colorMapFilter.nearest };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: ColorMapFilterNetworkSyncData\n ) {\n const colorMapFilter = filter as unknown as PIXI.filters.ColorMapFilter;\n colorMapFilter.mix = data.mix;\n colorMapFilter.nearest = data.near;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAKE,EAAK,iBAAiB,sBACpB,WACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAuB,EAAY,CAChD,KAAM,GAAkB,EACrB,kBACA,UACA,kBACA,eAAe,EAAW,iBAAiB,iBAU9C,MATuB,IAAI,MAAK,QAAQ,eACtC,EACA,EAAW,kBAAkB,QAC7B,EAAK,iBAAiB,WACpB,EAAW,iBAAiB,IAAM,IAClC,EACA,IAKN,gBAAgB,EAAqB,EAAuB,EAC5D,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAiB,EACvB,AAAI,IAAkB,OACpB,GAAe,IAAM,EAAK,iBAAiB,WACzC,EAAQ,IACR,EACA,IAIN,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAiB,EACvB,MAAI,KAAkB,MACb,EAAe,IAEjB,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,CACA,KAAM,GAAiB,EACvB,AAAI,IAAkB,WACpB,GAAe,QAAU,GAG7B,mBAAmB,EAAoD,CACrE,KAAM,GAAiB,EACvB,MAAO,CAAE,IAAK,EAAe,IAAK,KAAM,EAAe,SAEzD,0BACE,EACA,EACA,CACA,KAAM,GAAiB,EACvB,EAAe,IAAM,EAAK,IAC1B,EAAe,QAAU,EAAK,UAhF5B",
6
6
  "names": []
7
7
  }
@@ -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.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",
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 =\n 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 =\n 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 =\n 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 =\n 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 =\n 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 =\n 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 =\n 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,GACJ,EAEF,AAAI,IAAkB,WACpB,GAAmB,QAAU,GAGjC,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GACJ,EAEF,MAAI,KAAkB,UACb,EAAmB,QAErB,EAET,sBACE,EACA,EACA,EACA,CACA,KAAM,GACJ,EAEF,AAAI,IAAkB,gBACpB,EAAmB,cAAgB,EAAK,uBAAuB,GACtD,IAAkB,YAC3B,GAAmB,SAAW,EAAK,uBAAuB,IAG9D,qBACE,EACA,EACA,EACM,CACN,KAAM,GACJ,EAEF,AAAI,IAAkB,gBACpB,EAAmB,cAAgB,EAC1B,IAAkB,YAC3B,GAAmB,SAAW,GAGlC,kBAAkB,EAAqB,EAA+B,CACpE,KAAM,GACJ,EAEF,MAAI,KAAkB,gBACb,EAAmB,cACjB,IAAkB,WACpB,EAAmB,SAErB,EAET,uBACE,EACA,EACA,EACA,EACF,mBACE,EACmC,CACnC,KAAM,GACJ,EAEF,MAAO,CACL,EAAG,EAAmB,QACtB,GAAI,EAAmB,cACvB,GAAI,EAAmB,UAG3B,0BACE,EACA,EACA,CACA,KAAM,GACJ,EAEF,EAAmB,QAAU,EAAK,EAClC,EAAmB,cAAgB,EAAK,GACxC,EAAmB,SAAW,EAAK,QA1GjC",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../GDevelop/Extensions/Effects/crt-pixi-filter.ts"],
4
- "sourcesContent": ["namespace gdjs {\n interface CRTFilterExtra {\n _animationTimer: number;\n animationSpeed: number;\n animationFrequency: number;\n }\n interface CRTFilterNetworkSyncData {\n lw: number;\n lc: number;\n n: number;\n c: number;\n ns: number;\n v: number;\n va: number;\n vb: number;\n as: number;\n af: number;\n p: number;\n vl: boolean;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'CRT',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(layer, effectData) {\n const filter = new PIXI.filters.CRTFilter();\n const crtFilter = (filter as unknown) as PIXI.filters.CRTFilter &\n CRTFilterExtra;\n crtFilter._animationTimer = 0;\n return crtFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {\n const crtFilter = (filter as unknown) as PIXI.filters.CRTFilter &\n CRTFilterExtra;\n if (crtFilter.animationSpeed !== 0) {\n // Multiply by 10 so that the default value is a sensible speed\n crtFilter.time +=\n (target.getElapsedTime() / 1000) * 10 * crtFilter.animationSpeed;\n }\n if (crtFilter.animationFrequency !== 0) {\n crtFilter._animationTimer += target.getElapsedTime() / 1000;\n if (crtFilter._animationTimer >= 1 / crtFilter.animationFrequency) {\n crtFilter.seed = Math.random();\n crtFilter._animationTimer = 0;\n }\n }\n }\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const crtFilter = (filter as unknown) as PIXI.filters.CRTFilter &\n CRTFilterExtra;\n if (parameterName === 'lineWidth') {\n crtFilter.lineWidth = value;\n } else if (parameterName === 'lineContrast') {\n crtFilter.lineContrast = value;\n } else if (parameterName === 'noise') {\n crtFilter.noise = value;\n } else if (parameterName === 'curvature') {\n crtFilter.curvature = value;\n } else if (parameterName === 'noiseSize') {\n crtFilter.noiseSize = value;\n } else if (parameterName === 'vignetting') {\n crtFilter.vignetting = value;\n } else if (parameterName === 'vignettingAlpha') {\n crtFilter.vignettingAlpha = value;\n } else if (parameterName === 'vignettingBlur') {\n crtFilter.vignettingBlur = value;\n } else if (parameterName === 'animationSpeed') {\n crtFilter.animationSpeed = value;\n } else if (parameterName === 'animationFrequency') {\n crtFilter.animationFrequency = value;\n } else if (parameterName === 'padding') {\n crtFilter.padding = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const crtFilter = (filter as unknown) as PIXI.filters.CRTFilter &\n CRTFilterExtra;\n if (parameterName === 'lineWidth') {\n return crtFilter.lineWidth;\n }\n if (parameterName === 'lineContrast') {\n return crtFilter.lineContrast;\n }\n if (parameterName === 'noise') {\n return crtFilter.noise;\n }\n if (parameterName === 'curvature') {\n return crtFilter.curvature;\n }\n if (parameterName === 'noiseSize') {\n return crtFilter.noiseSize;\n }\n if (parameterName === 'vignetting') {\n return crtFilter.vignetting;\n }\n if (parameterName === 'vignettingAlpha') {\n return crtFilter.vignettingAlpha;\n }\n if (parameterName === 'vignettingBlur') {\n return crtFilter.vignettingBlur;\n }\n if (parameterName === 'animationSpeed') {\n return crtFilter.animationSpeed;\n }\n if (parameterName === 'animationFrequency') {\n return crtFilter.animationFrequency;\n }\n if (parameterName === 'padding') {\n return crtFilter.padding;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {\n const crtFilter = (filter as unknown) as PIXI.filters.CRTFilter;\n if (parameterName === 'verticalLine') {\n crtFilter.verticalLine = value;\n }\n }\n getNetworkSyncData(filter: PIXI.Filter): CRTFilterNetworkSyncData {\n const crtFilter = (filter as unknown) as PIXI.filters.CRTFilter &\n CRTFilterExtra;\n return {\n lw: crtFilter.lineWidth,\n lc: crtFilter.lineContrast,\n n: crtFilter.noise,\n c: crtFilter.curvature,\n ns: crtFilter.noiseSize,\n v: crtFilter.vignetting,\n va: crtFilter.vignettingAlpha,\n vb: crtFilter.vignettingBlur,\n as: crtFilter.animationSpeed,\n af: crtFilter.animationFrequency,\n p: crtFilter.padding,\n vl: crtFilter.verticalLine,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: CRTFilterNetworkSyncData\n ) {\n const crtFilter = (filter as unknown) as PIXI.filters.CRTFilter &\n CRTFilterExtra;\n crtFilter.lineWidth = data.lw;\n crtFilter.lineContrast = data.lc;\n crtFilter.noise = data.n;\n crtFilter.curvature = data.c;\n crtFilter.noiseSize = data.ns;\n crtFilter.vignetting = data.v;\n crtFilter.vignettingAlpha = data.va;\n crtFilter.vignettingBlur = data.vb;\n crtFilter.animationSpeed = data.as;\n crtFilter.animationFrequency = data.af;\n crtFilter.padding = data.p;\n crtFilter.verticalLine = data.vl;\n }\n })()\n );\n}\n"],
5
- "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAoBE,EAAK,iBAAiB,sBACpB,MACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAO,EAAY,CAEhC,KAAM,GADS,GAAI,MAAK,QAAQ,UAGhC,SAAU,gBAAkB,EACrB,EAET,gBAAgB,EAAqB,EAAuB,CAC1D,KAAM,GAAa,EAEnB,AAAI,EAAU,iBAAmB,GAE/B,GAAU,MACP,EAAO,iBAAmB,IAAQ,GAAK,EAAU,gBAElD,EAAU,qBAAuB,GACnC,GAAU,iBAAmB,EAAO,iBAAmB,IACnD,EAAU,iBAAmB,EAAI,EAAU,oBAC7C,GAAU,KAAO,KAAK,SACtB,EAAU,gBAAkB,IAIlC,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAa,EAEnB,AAAI,IAAkB,YACpB,EAAU,UAAY,EACjB,AAAI,IAAkB,eAC3B,EAAU,aAAe,EACpB,AAAI,IAAkB,QAC3B,EAAU,MAAQ,EACb,AAAI,IAAkB,YAC3B,EAAU,UAAY,EACjB,AAAI,IAAkB,YAC3B,EAAU,UAAY,EACjB,AAAI,IAAkB,aAC3B,EAAU,WAAa,EAClB,AAAI,IAAkB,kBAC3B,EAAU,gBAAkB,EACvB,AAAI,IAAkB,iBAC3B,EAAU,eAAiB,EACtB,AAAI,IAAkB,iBAC3B,EAAU,eAAiB,EACtB,AAAI,IAAkB,qBAC3B,EAAU,mBAAqB,EACtB,IAAkB,WAC3B,GAAU,QAAU,GAGxB,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAa,EAEnB,MAAI,KAAkB,YACb,EAAU,UAEf,IAAkB,eACb,EAAU,aAEf,IAAkB,QACb,EAAU,MAEf,IAAkB,YACb,EAAU,UAEf,IAAkB,YACb,EAAU,UAEf,IAAkB,aACb,EAAU,WAEf,IAAkB,kBACb,EAAU,gBAEf,IAAkB,iBACb,EAAU,eAEf,IAAkB,iBACb,EAAU,eAEf,IAAkB,qBACb,EAAU,mBAEf,IAAkB,UACb,EAAU,QAEZ,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,CACA,KAAM,GAAa,EACnB,AAAI,IAAkB,gBACpB,GAAU,aAAe,GAG7B,mBAAmB,EAA+C,CAChE,KAAM,GAAa,EAEnB,MAAO,CACL,GAAI,EAAU,UACd,GAAI,EAAU,aACd,EAAG,EAAU,MACb,EAAG,EAAU,UACb,GAAI,EAAU,UACd,EAAG,EAAU,WACb,GAAI,EAAU,gBACd,GAAI,EAAU,eACd,GAAI,EAAU,eACd,GAAI,EAAU,mBACd,EAAG,EAAU,QACb,GAAI,EAAU,cAGlB,0BACE,EACA,EACA,CACA,KAAM,GAAa,EAEnB,EAAU,UAAY,EAAK,GAC3B,EAAU,aAAe,EAAK,GAC9B,EAAU,MAAQ,EAAK,EACvB,EAAU,UAAY,EAAK,EAC3B,EAAU,UAAY,EAAK,GAC3B,EAAU,WAAa,EAAK,EAC5B,EAAU,gBAAkB,EAAK,GACjC,EAAU,eAAiB,EAAK,GAChC,EAAU,eAAiB,EAAK,GAChC,EAAU,mBAAqB,EAAK,GACpC,EAAU,QAAU,EAAK,EACzB,EAAU,aAAe,EAAK,QA7K5B",
4
+ "sourcesContent": ["namespace gdjs {\n interface CRTFilterExtra {\n _animationTimer: number;\n animationSpeed: number;\n animationFrequency: number;\n }\n interface CRTFilterNetworkSyncData {\n lw: number;\n lc: number;\n n: number;\n c: number;\n ns: number;\n v: number;\n va: number;\n vb: number;\n as: number;\n af: number;\n p: number;\n vl: boolean;\n }\n gdjs.PixiFiltersTools.registerFilterCreator(\n 'CRT',\n new (class extends gdjs.PixiFiltersTools.PixiFilterCreator {\n makePIXIFilter(layer, effectData) {\n const filter = new PIXI.filters.CRTFilter();\n const crtFilter = filter as unknown as PIXI.filters.CRTFilter &\n CRTFilterExtra;\n crtFilter._animationTimer = 0;\n return crtFilter;\n }\n updatePreRender(filter: PIXI.Filter, target: EffectsTarget) {\n const crtFilter = filter as unknown as PIXI.filters.CRTFilter &\n CRTFilterExtra;\n if (crtFilter.animationSpeed !== 0) {\n // Multiply by 10 so that the default value is a sensible speed\n crtFilter.time +=\n (target.getElapsedTime() / 1000) * 10 * crtFilter.animationSpeed;\n }\n if (crtFilter.animationFrequency !== 0) {\n crtFilter._animationTimer += target.getElapsedTime() / 1000;\n if (crtFilter._animationTimer >= 1 / crtFilter.animationFrequency) {\n crtFilter.seed = Math.random();\n crtFilter._animationTimer = 0;\n }\n }\n }\n updateDoubleParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ) {\n const crtFilter = filter as unknown as PIXI.filters.CRTFilter &\n CRTFilterExtra;\n if (parameterName === 'lineWidth') {\n crtFilter.lineWidth = value;\n } else if (parameterName === 'lineContrast') {\n crtFilter.lineContrast = value;\n } else if (parameterName === 'noise') {\n crtFilter.noise = value;\n } else if (parameterName === 'curvature') {\n crtFilter.curvature = value;\n } else if (parameterName === 'noiseSize') {\n crtFilter.noiseSize = value;\n } else if (parameterName === 'vignetting') {\n crtFilter.vignetting = value;\n } else if (parameterName === 'vignettingAlpha') {\n crtFilter.vignettingAlpha = value;\n } else if (parameterName === 'vignettingBlur') {\n crtFilter.vignettingBlur = value;\n } else if (parameterName === 'animationSpeed') {\n crtFilter.animationSpeed = value;\n } else if (parameterName === 'animationFrequency') {\n crtFilter.animationFrequency = value;\n } else if (parameterName === 'padding') {\n crtFilter.padding = value;\n }\n }\n getDoubleParameter(filter: PIXI.Filter, parameterName: string): number {\n const crtFilter = filter as unknown as PIXI.filters.CRTFilter &\n CRTFilterExtra;\n if (parameterName === 'lineWidth') {\n return crtFilter.lineWidth;\n }\n if (parameterName === 'lineContrast') {\n return crtFilter.lineContrast;\n }\n if (parameterName === 'noise') {\n return crtFilter.noise;\n }\n if (parameterName === 'curvature') {\n return crtFilter.curvature;\n }\n if (parameterName === 'noiseSize') {\n return crtFilter.noiseSize;\n }\n if (parameterName === 'vignetting') {\n return crtFilter.vignetting;\n }\n if (parameterName === 'vignettingAlpha') {\n return crtFilter.vignettingAlpha;\n }\n if (parameterName === 'vignettingBlur') {\n return crtFilter.vignettingBlur;\n }\n if (parameterName === 'animationSpeed') {\n return crtFilter.animationSpeed;\n }\n if (parameterName === 'animationFrequency') {\n return crtFilter.animationFrequency;\n }\n if (parameterName === 'padding') {\n return crtFilter.padding;\n }\n return 0;\n }\n updateStringParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: string\n ) {}\n updateColorParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: number\n ): void {}\n getColorParameter(filter: PIXI.Filter, parameterName: string): number {\n return 0;\n }\n updateBooleanParameter(\n filter: PIXI.Filter,\n parameterName: string,\n value: boolean\n ) {\n const crtFilter = filter as unknown as PIXI.filters.CRTFilter;\n if (parameterName === 'verticalLine') {\n crtFilter.verticalLine = value;\n }\n }\n getNetworkSyncData(filter: PIXI.Filter): CRTFilterNetworkSyncData {\n const crtFilter = filter as unknown as PIXI.filters.CRTFilter &\n CRTFilterExtra;\n return {\n lw: crtFilter.lineWidth,\n lc: crtFilter.lineContrast,\n n: crtFilter.noise,\n c: crtFilter.curvature,\n ns: crtFilter.noiseSize,\n v: crtFilter.vignetting,\n va: crtFilter.vignettingAlpha,\n vb: crtFilter.vignettingBlur,\n as: crtFilter.animationSpeed,\n af: crtFilter.animationFrequency,\n p: crtFilter.padding,\n vl: crtFilter.verticalLine,\n };\n }\n updateFromNetworkSyncData(\n filter: PIXI.Filter,\n data: CRTFilterNetworkSyncData\n ) {\n const crtFilter = filter as unknown as PIXI.filters.CRTFilter &\n CRTFilterExtra;\n crtFilter.lineWidth = data.lw;\n crtFilter.lineContrast = data.lc;\n crtFilter.noise = data.n;\n crtFilter.curvature = data.c;\n crtFilter.noiseSize = data.ns;\n crtFilter.vignetting = data.v;\n crtFilter.vignettingAlpha = data.va;\n crtFilter.vignettingBlur = data.vb;\n crtFilter.animationSpeed = data.as;\n crtFilter.animationFrequency = data.af;\n crtFilter.padding = data.p;\n crtFilter.verticalLine = data.vl;\n }\n })()\n );\n}\n"],
5
+ "mappings": "AAAA,GAAU,MAAV,UAAU,EAAV,CAoBE,EAAK,iBAAiB,sBACpB,MACA,GAAK,cAAc,GAAK,iBAAiB,iBAAkB,CACzD,eAAe,EAAO,EAAY,CAEhC,KAAM,GADS,GAAI,MAAK,QAAQ,UAGhC,SAAU,gBAAkB,EACrB,EAET,gBAAgB,EAAqB,EAAuB,CAC1D,KAAM,GAAY,EAElB,AAAI,EAAU,iBAAmB,GAE/B,GAAU,MACP,EAAO,iBAAmB,IAAQ,GAAK,EAAU,gBAElD,EAAU,qBAAuB,GACnC,GAAU,iBAAmB,EAAO,iBAAmB,IACnD,EAAU,iBAAmB,EAAI,EAAU,oBAC7C,GAAU,KAAO,KAAK,SACtB,EAAU,gBAAkB,IAIlC,sBACE,EACA,EACA,EACA,CACA,KAAM,GAAY,EAElB,AAAI,IAAkB,YACpB,EAAU,UAAY,EACjB,AAAI,IAAkB,eAC3B,EAAU,aAAe,EACpB,AAAI,IAAkB,QAC3B,EAAU,MAAQ,EACb,AAAI,IAAkB,YAC3B,EAAU,UAAY,EACjB,AAAI,IAAkB,YAC3B,EAAU,UAAY,EACjB,AAAI,IAAkB,aAC3B,EAAU,WAAa,EAClB,AAAI,IAAkB,kBAC3B,EAAU,gBAAkB,EACvB,AAAI,IAAkB,iBAC3B,EAAU,eAAiB,EACtB,AAAI,IAAkB,iBAC3B,EAAU,eAAiB,EACtB,AAAI,IAAkB,qBAC3B,EAAU,mBAAqB,EACtB,IAAkB,WAC3B,GAAU,QAAU,GAGxB,mBAAmB,EAAqB,EAA+B,CACrE,KAAM,GAAY,EAElB,MAAI,KAAkB,YACb,EAAU,UAEf,IAAkB,eACb,EAAU,aAEf,IAAkB,QACb,EAAU,MAEf,IAAkB,YACb,EAAU,UAEf,IAAkB,YACb,EAAU,UAEf,IAAkB,aACb,EAAU,WAEf,IAAkB,kBACb,EAAU,gBAEf,IAAkB,iBACb,EAAU,eAEf,IAAkB,iBACb,EAAU,eAEf,IAAkB,qBACb,EAAU,mBAEf,IAAkB,UACb,EAAU,QAEZ,EAET,sBACE,EACA,EACA,EACA,EACF,qBACE,EACA,EACA,EACM,EACR,kBAAkB,EAAqB,EAA+B,CACpE,MAAO,GAET,uBACE,EACA,EACA,EACA,CACA,KAAM,GAAY,EAClB,AAAI,IAAkB,gBACpB,GAAU,aAAe,GAG7B,mBAAmB,EAA+C,CAChE,KAAM,GAAY,EAElB,MAAO,CACL,GAAI,EAAU,UACd,GAAI,EAAU,aACd,EAAG,EAAU,MACb,EAAG,EAAU,UACb,GAAI,EAAU,UACd,EAAG,EAAU,WACb,GAAI,EAAU,gBACd,GAAI,EAAU,eACd,GAAI,EAAU,eACd,GAAI,EAAU,mBACd,EAAG,EAAU,QACb,GAAI,EAAU,cAGlB,0BACE,EACA,EACA,CACA,KAAM,GAAY,EAElB,EAAU,UAAY,EAAK,GAC3B,EAAU,aAAe,EAAK,GAC9B,EAAU,MAAQ,EAAK,EACvB,EAAU,UAAY,EAAK,EAC3B,EAAU,UAAY,EAAK,GAC3B,EAAU,WAAa,EAAK,EAC5B,EAAU,gBAAkB,EAAK,GACjC,EAAU,eAAiB,EAAK,GAChC,EAAU,eAAiB,EAAK,GAChC,EAAU,mBAAqB,EAAK,GACpC,EAAU,QAAU,EAAK,EACzB,EAAU,aAAe,EAAK,QA7K5B",
6
6
  "names": []
7
7
  }