gdcore-tools 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/GDevelop/ExtLibs/7za.exe +0 -0
- package/GDevelop/ExtLibs/curl.exe +0 -0
- package/GDevelop/scripts/libgettextlib-0-17.dll +0 -0
- package/GDevelop/scripts/libgettextsrc-0-17.dll +0 -0
- package/LICENSE +1 -1
- package/dist/Runtime/AsyncTasksManager.js +5 -0
- package/dist/Runtime/AsyncTasksManager.js.map +7 -0
- package/dist/Runtime/Cordova/config.xml +44 -0
- package/dist/Runtime/Cordova/package.json +22 -0
- package/dist/Runtime/Cordova/www/index.html +45 -0
- package/dist/Runtime/CustomRuntimeObject.js +2 -0
- package/dist/Runtime/CustomRuntimeObject.js.map +7 -0
- package/dist/Runtime/CustomRuntimeObjectInstanceContainer.js +2 -0
- package/dist/Runtime/CustomRuntimeObjectInstanceContainer.js.map +7 -0
- package/dist/Runtime/Electron/main.js +65 -0
- package/dist/Runtime/Electron/package.json +26 -0
- package/dist/Runtime/Extensions/3D/A_RuntimeObject3D.js +2 -0
- package/dist/Runtime/Extensions/3D/A_RuntimeObject3D.js.map +7 -0
- package/dist/Runtime/Extensions/3D/A_RuntimeObject3DRenderer.js +2 -0
- package/dist/Runtime/Extensions/3D/A_RuntimeObject3DRenderer.js.map +7 -0
- package/dist/Runtime/Extensions/3D/AmbientLight.js +2 -0
- package/dist/Runtime/Extensions/3D/AmbientLight.js.map +7 -0
- package/dist/Runtime/Extensions/3D/Cube3DRuntimeObject.js +2 -0
- package/dist/Runtime/Extensions/3D/Cube3DRuntimeObject.js.map +7 -0
- package/dist/Runtime/Extensions/3D/Cube3DRuntimeObjectPixiRenderer.js +2 -0
- package/dist/Runtime/Extensions/3D/Cube3DRuntimeObjectPixiRenderer.js.map +7 -0
- package/dist/Runtime/Extensions/3D/DirectionalLight.js +2 -0
- package/dist/Runtime/Extensions/3D/DirectionalLight.js.map +7 -0
- package/dist/Runtime/Extensions/3D/ExponentialFog.js +2 -0
- package/dist/Runtime/Extensions/3D/ExponentialFog.js.map +7 -0
- package/dist/Runtime/Extensions/3D/HemisphereLight.js +2 -0
- package/dist/Runtime/Extensions/3D/HemisphereLight.js.map +7 -0
- package/dist/Runtime/Extensions/3D/JsExtension.js +2809 -0
- package/dist/Runtime/Extensions/3D/LinearFog.js +2 -0
- package/dist/Runtime/Extensions/3D/LinearFog.js.map +7 -0
- package/dist/Runtime/Extensions/3D/Model3DRuntimeObject.js +2 -0
- package/dist/Runtime/Extensions/3D/Model3DRuntimeObject.js.map +7 -0
- package/dist/Runtime/Extensions/3D/Model3DRuntimeObject3DRenderer.js +2 -0
- package/dist/Runtime/Extensions/3D/Model3DRuntimeObject3DRenderer.js.map +7 -0
- package/dist/Runtime/Extensions/3D/Scene3DTools.js +2 -0
- package/dist/Runtime/Extensions/3D/Scene3DTools.js.map +7 -0
- package/dist/Runtime/Extensions/AdMob/JsExtension.js +798 -0
- package/dist/Runtime/Extensions/AdMob/admobtools.js +2 -0
- package/dist/Runtime/Extensions/AdMob/admobtools.js.map +7 -0
- package/dist/Runtime/Extensions/AdvancedWindow/JsExtension.js +719 -0
- package/dist/Runtime/Extensions/AdvancedWindow/electron-advancedwindowtools.js +2 -0
- package/dist/Runtime/Extensions/AdvancedWindow/electron-advancedwindowtools.js.map +7 -0
- package/dist/Runtime/Extensions/AnchorBehavior/anchorruntimebehavior.js +2 -0
- package/dist/Runtime/Extensions/AnchorBehavior/anchorruntimebehavior.js.map +7 -0
- package/dist/Runtime/Extensions/BBText/JsExtension.js +639 -0
- package/dist/Runtime/Extensions/BBText/bbtextruntimeobject-pixi-renderer.js +2 -0
- package/dist/Runtime/Extensions/BBText/bbtextruntimeobject-pixi-renderer.js.map +7 -0
- package/dist/Runtime/Extensions/BBText/bbtextruntimeobject.js +2 -0
- package/dist/Runtime/Extensions/BBText/bbtextruntimeobject.js.map +7 -0
- package/dist/Runtime/Extensions/BBText/pixi-multistyle-text/dist/pixi-multistyle-text.umd.js +1 -0
- package/dist/Runtime/Extensions/BitmapText/JsExtension.js +756 -0
- package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject-pixi-renderer.js +2 -0
- package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject-pixi-renderer.js.map +7 -0
- package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject.js +2 -0
- package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject.js.map +7 -0
- package/dist/Runtime/Extensions/DebuggerTools/JsExtension.js +123 -0
- package/dist/Runtime/Extensions/DebuggerTools/debuggertools.js +2 -0
- package/dist/Runtime/Extensions/DebuggerTools/debuggertools.js.map +7 -0
- package/dist/Runtime/Extensions/DestroyOutsideBehavior/destroyoutsideruntimebehavior.js +2 -0
- package/dist/Runtime/Extensions/DestroyOutsideBehavior/destroyoutsideruntimebehavior.js.map +7 -0
- package/dist/Runtime/Extensions/DeviceSensors/JsExtension.js +461 -0
- package/dist/Runtime/Extensions/DeviceSensors/devicesensortools.js +2 -0
- package/dist/Runtime/Extensions/DeviceSensors/devicesensortools.js.map +7 -0
- package/dist/Runtime/Extensions/DeviceVibration/JsExtension.js +108 -0
- package/dist/Runtime/Extensions/DeviceVibration/devicevibrationtools.js +2 -0
- package/dist/Runtime/Extensions/DeviceVibration/devicevibrationtools.js.map +7 -0
- package/dist/Runtime/Extensions/DialogueTree/JsExtension.js +730 -0
- package/dist/Runtime/Extensions/DialogueTree/bondage.js/dist/bondage.min.js +11 -0
- package/dist/Runtime/Extensions/DialogueTree/dialoguetools.js +3 -0
- package/dist/Runtime/Extensions/DialogueTree/dialoguetools.js.map +7 -0
- package/dist/Runtime/Extensions/DraggableBehavior/draggableruntimebehavior.js +2 -0
- package/dist/Runtime/Extensions/DraggableBehavior/draggableruntimebehavior.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/JsExtension.js +1197 -0
- package/dist/Runtime/Extensions/Effects/adjustment-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/adjustment-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/advanced-bloom-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/advanced-bloom-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/ascii-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/ascii-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/bevel-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/bevel-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/black-and-white-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/black-and-white-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/blending-mode-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/blending-mode-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/blur-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/blur-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/brightness-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/brightness-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/bulge-pinch-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/bulge-pinch-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/color-map-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/color-map-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/color-replace-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/color-replace-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/crt-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/crt-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/displacement-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/displacement-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/dot-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/dot-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/drop-shadow-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/drop-shadow-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/glitch-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/glitch-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/glow-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/glow-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/godray-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/godray-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/kawase-blur-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/kawase-blur-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/light-night-pixi-filter.js +3 -0
- package/dist/Runtime/Extensions/Effects/light-night-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/night-pixi-filter.js +3 -0
- package/dist/Runtime/Extensions/Effects/night-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/noise-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/noise-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/old-film-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/old-film-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/outline-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/outline-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/pixelate-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/pixelate-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-adjustment.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-advanced-bloom.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-ascii.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-bevel.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-bulge-pinch.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-color-map.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-color-replace.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-crt.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-dot.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-drop-shadow.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-glitch.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-glow.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-godray.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-kawase-blur.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-old-film.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-outline.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-pixelate.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-radial-blur.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-reflection.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-rgb-split.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-tilt-shift.js +171 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-twist.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/filter-zoom-blur.js +8 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/adjustment/types.d.ts +29 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/advanced-bloom/types.d.ts +30 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/ascii/types.d.ts +11 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/bevel/types.d.ts +25 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/bloom/types.d.ts +18 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/bulge-pinch/types.d.ts +24 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/color-map/types.d.ts +22 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/color-overlay/types.d.ts +11 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/color-replace/types.d.ts +17 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/convolution/types.d.ts +13 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/cross-hatch/types.d.ts +10 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/crt/types.d.ts +35 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/dot/types.d.ts +12 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/drop-shadow/types.d.ts +33 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/emboss/types.d.ts +11 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/glitch/types.d.ts +38 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/glow/types.d.ts +23 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/godray/types.d.ts +27 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/kawase-blur/types.d.ts +15 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/motion-blur/types.d.ts +17 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/multi-color-replace/types.d.ts +18 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/old-film/types.d.ts +33 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/outline/types.d.ts +13 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/pixelate/types.d.ts +11 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/radial-blur/types.d.ts +19 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/reflection/types.d.ts +25 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/rgb-split/types.d.ts +13 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/shockwave/types.d.ts +25 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/simple-lightmap/types.d.ts +13 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/tilt-shift/types.d.ts +19 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/twist/types.d.ts +13 -0
- package/dist/Runtime/Extensions/Effects/pixi-filters/types/zoom-blur/types.d.ts +28 -0
- package/dist/Runtime/Extensions/Effects/radial-blur-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/radial-blur-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/reflection-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/reflection-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/rgb-split-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/rgb-split-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/sepia-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/sepia-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/tilt-shift-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/tilt-shift-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/twist-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/twist-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/Effects/zoom-blur-pixi-filter.js +2 -0
- package/dist/Runtime/Extensions/Effects/zoom-blur-pixi-filter.js.map +7 -0
- package/dist/Runtime/Extensions/ExampleJsExtension/JsExtension.js +589 -0
- package/dist/Runtime/Extensions/ExampleJsExtension/dummyeffect.js +3 -0
- package/dist/Runtime/Extensions/ExampleJsExtension/dummyeffect.js.map +7 -0
- package/dist/Runtime/Extensions/ExampleJsExtension/dummyruntimebehavior.js +2 -0
- package/dist/Runtime/Extensions/ExampleJsExtension/dummyruntimebehavior.js.map +7 -0
- package/dist/Runtime/Extensions/ExampleJsExtension/dummyruntimeobject-pixi-renderer.js +2 -0
- package/dist/Runtime/Extensions/ExampleJsExtension/dummyruntimeobject-pixi-renderer.js.map +7 -0
- package/dist/Runtime/Extensions/ExampleJsExtension/dummyruntimeobject.js +2 -0
- package/dist/Runtime/Extensions/ExampleJsExtension/dummyruntimeobject.js.map +7 -0
- package/dist/Runtime/Extensions/ExampleJsExtension/dummywithshareddataruntimebehavior.js +2 -0
- package/dist/Runtime/Extensions/ExampleJsExtension/dummywithshareddataruntimebehavior.js.map +7 -0
- package/dist/Runtime/Extensions/ExampleJsExtension/examplejsextensiontools.js +2 -0
- package/dist/Runtime/Extensions/ExampleJsExtension/examplejsextensiontools.js.map +7 -0
- package/dist/Runtime/Extensions/FacebookInstantGames/FBInstant.d.ts +2 -0
- package/dist/Runtime/Extensions/FacebookInstantGames/JsExtension.js +379 -0
- package/dist/Runtime/Extensions/FacebookInstantGames/facebookinstantgamestools.js +2 -0
- package/dist/Runtime/Extensions/FacebookInstantGames/facebookinstantgamestools.js.map +7 -0
- package/dist/Runtime/Extensions/FileSystem/JsExtension.js +559 -0
- package/dist/Runtime/Extensions/FileSystem/filesystemtools.js +2 -0
- package/dist/Runtime/Extensions/FileSystem/filesystemtools.js.map +7 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/A_firebase-base.js +2 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/A_firebase-base.js.map +1 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-analytics.js +2 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-analytics.js.map +1 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-auth.js +2 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-auth.js.map +1 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-database.js +2 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-database.js.map +1 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-firestore.js +2 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-firestore.js.map +1 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-functions.js +2 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-functions.js.map +1 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-messaging.js +2 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-messaging.js.map +1 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-performance.js +2 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-performance.js.map +1 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-remote-config.js +2 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-remote-config.js.map +1 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-storage.js +2 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-storage.js.map +1 -0
- package/dist/Runtime/Extensions/Firebase/A_firebasejs/firebase.d.ts +10191 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/C_firebasetools.js +2 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/C_firebasetools.js.map +7 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_analyticstools.js +2 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_analyticstools.js.map +7 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_authtools.js +2 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_authtools.js.map +7 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_cloudfirestoretools.js +2 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_cloudfirestoretools.js.map +7 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_databasetools.js +2 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_databasetools.js.map +7 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_functionstools.js +2 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_functionstools.js.map +7 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_performancetools.js +2 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_performancetools.js.map +7 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_remoteconfigtools.js +2 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_remoteconfigtools.js.map +7 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_storagetools.js +2 -0
- package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_storagetools.js.map +7 -0
- package/dist/Runtime/Extensions/Firebase/JsExtension.js +2323 -0
- package/dist/Runtime/Extensions/Inventory/inventory.js +2 -0
- package/dist/Runtime/Extensions/Inventory/inventory.js.map +7 -0
- package/dist/Runtime/Extensions/Inventory/inventorytools.js +2 -0
- package/dist/Runtime/Extensions/Inventory/inventorytools.js.map +7 -0
- package/dist/Runtime/Extensions/JsExtensionTypes.flow.js +34 -0
- package/dist/Runtime/Extensions/Leaderboards/JsExtension.js +299 -0
- package/dist/Runtime/Extensions/Leaderboards/leaderboardstools.js +2 -0
- package/dist/Runtime/Extensions/Leaderboards/leaderboardstools.js.map +7 -0
- package/dist/Runtime/Extensions/Leaderboards/sha256.d.ts +234 -0
- package/dist/Runtime/Extensions/Leaderboards/sha256.js +21 -0
- package/dist/Runtime/Extensions/Lighting/JsExtension.js +371 -0
- package/dist/Runtime/Extensions/Lighting/lightobstacleruntimebehavior.js +2 -0
- package/dist/Runtime/Extensions/Lighting/lightobstacleruntimebehavior.js.map +7 -0
- package/dist/Runtime/Extensions/Lighting/lightruntimeobject-pixi-renderer.js +40 -0
- package/dist/Runtime/Extensions/Lighting/lightruntimeobject-pixi-renderer.js.map +7 -0
- package/dist/Runtime/Extensions/Lighting/lightruntimeobject.js +2 -0
- package/dist/Runtime/Extensions/Lighting/lightruntimeobject.js.map +7 -0
- package/dist/Runtime/Extensions/LinkedObjects/linkedobjects.js +2 -0
- package/dist/Runtime/Extensions/LinkedObjects/linkedobjects.js.map +7 -0
- package/dist/Runtime/Extensions/P2P/A_peer.js +4 -0
- package/dist/Runtime/Extensions/P2P/A_peer.js.map +1 -0
- package/dist/Runtime/Extensions/P2P/B_p2ptools.js +2 -0
- package/dist/Runtime/Extensions/P2P/B_p2ptools.js.map +7 -0
- package/dist/Runtime/Extensions/P2P/JsExtension.js +483 -0
- package/dist/Runtime/Extensions/P2P/peerjs.d.ts +509 -0
- package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js +2 -0
- package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js.map +7 -0
- package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject.js +2 -0
- package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject.js.map +7 -0
- package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js +2 -0
- package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js.map +7 -0
- package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject.js +2 -0
- package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject.js.map +7 -0
- package/dist/Runtime/Extensions/ParticleSystem/pixi-particles-pixi-renderer.min.js +3 -0
- package/dist/Runtime/Extensions/PathfindingBehavior/PathTools.js +2 -0
- package/dist/Runtime/Extensions/PathfindingBehavior/PathTools.js.map +7 -0
- package/dist/Runtime/Extensions/PathfindingBehavior/pathfindingobstacleruntimebehavior.js +2 -0
- package/dist/Runtime/Extensions/PathfindingBehavior/pathfindingobstacleruntimebehavior.js.map +7 -0
- package/dist/Runtime/Extensions/PathfindingBehavior/pathfindingruntimebehavior.js +2 -0
- package/dist/Runtime/Extensions/PathfindingBehavior/pathfindingruntimebehavior.js.map +7 -0
- package/dist/Runtime/Extensions/Physics2Behavior/Box2D_v2.3.1_min.wasm.js +2 -0
- package/dist/Runtime/Extensions/Physics2Behavior/Box2D_v2.3.1_min.wasm.js.map +7 -0
- package/dist/Runtime/Extensions/Physics2Behavior/Box2D_v2.3.1_min.wasm.wasm +0 -0
- package/dist/Runtime/Extensions/Physics2Behavior/JsExtension.js +4072 -0
- package/dist/Runtime/Extensions/Physics2Behavior/box2d.d.ts +1804 -0
- package/dist/Runtime/Extensions/Physics2Behavior/physics2runtimebehavior.js +2 -0
- package/dist/Runtime/Extensions/Physics2Behavior/physics2runtimebehavior.js.map +7 -0
- package/dist/Runtime/Extensions/Physics2Behavior/physics2tools.js +2 -0
- package/dist/Runtime/Extensions/Physics2Behavior/physics2tools.js.map +7 -0
- package/dist/Runtime/Extensions/PhysicsBehavior/box2djs/box2d.js +804 -0
- package/dist/Runtime/Extensions/PhysicsBehavior/physicsruntimebehavior.js +2 -0
- package/dist/Runtime/Extensions/PhysicsBehavior/physicsruntimebehavior.js.map +7 -0
- package/dist/Runtime/Extensions/PlatformBehavior/benchmarks/platformerobjectruntimebehavior.benchmark.js +2 -0
- package/dist/Runtime/Extensions/PlatformBehavior/benchmarks/platformerobjectruntimebehavior.benchmark.js.map +7 -0
- package/dist/Runtime/Extensions/PlatformBehavior/platformerobjectruntimebehavior.js +2 -0
- package/dist/Runtime/Extensions/PlatformBehavior/platformerobjectruntimebehavior.js.map +7 -0
- package/dist/Runtime/Extensions/PlatformBehavior/platformruntimebehavior.js +2 -0
- package/dist/Runtime/Extensions/PlatformBehavior/platformruntimebehavior.js.map +7 -0
- package/dist/Runtime/Extensions/PlatformBehavior/platformtools.js +2 -0
- package/dist/Runtime/Extensions/PlatformBehavior/platformtools.js.map +7 -0
- package/dist/Runtime/Extensions/PlayerAuthentication/JsExtension.js +218 -0
- package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationcomponents.js +5 -0
- package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationcomponents.js.map +7 -0
- package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationtools.js +2 -0
- package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationtools.js.map +7 -0
- package/dist/Runtime/Extensions/PrimitiveDrawing/pixi-graphics-extras/graphics-extras.min.js +10 -0
- package/dist/Runtime/Extensions/PrimitiveDrawing/pixi-graphics-extras/graphics-extras.min.js.map +1 -0
- package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js +2 -0
- package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js.map +7 -0
- package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js +2 -0
- package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js.map +7 -0
- package/dist/Runtime/Extensions/Screenshot/JsExtension.js +68 -0
- package/dist/Runtime/Extensions/Screenshot/screenshottools.js +2 -0
- package/dist/Runtime/Extensions/Screenshot/screenshottools.js.map +7 -0
- package/dist/Runtime/Extensions/Shopify/shopify-buy.umd.polyfilled.min.js +2 -0
- package/dist/Runtime/Extensions/Shopify/shopifytools.js +2 -0
- package/dist/Runtime/Extensions/Shopify/shopifytools.js.map +7 -0
- package/dist/Runtime/Extensions/SpatialSound/JsExtension.js +92 -0
- package/dist/Runtime/Extensions/SpatialSound/howler.spatial.min.js +2 -0
- package/dist/Runtime/Extensions/SpatialSound/spatialsoundtools.js +2 -0
- package/dist/Runtime/Extensions/SpatialSound/spatialsoundtools.js.map +7 -0
- package/dist/Runtime/Extensions/SystemInfo/systeminfotools.js +2 -0
- package/dist/Runtime/Extensions/SystemInfo/systeminfotools.js.map +7 -0
- package/dist/Runtime/Extensions/TextEntryObject/textentryruntimeobject-pixi-renderer.js +2 -0
- package/dist/Runtime/Extensions/TextEntryObject/textentryruntimeobject-pixi-renderer.js.map +7 -0
- package/dist/Runtime/Extensions/TextEntryObject/textentryruntimeobject.js +2 -0
- package/dist/Runtime/Extensions/TextEntryObject/textentryruntimeobject.js.map +7 -0
- package/dist/Runtime/Extensions/TextInput/JsExtension.js +790 -0
- package/dist/Runtime/Extensions/TextInput/textinputruntimeobject-pixi-renderer.js +2 -0
- package/dist/Runtime/Extensions/TextInput/textinputruntimeobject-pixi-renderer.js.map +7 -0
- package/dist/Runtime/Extensions/TextInput/textinputruntimeobject.js +2 -0
- package/dist/Runtime/Extensions/TextInput/textinputruntimeobject.js.map +7 -0
- package/dist/Runtime/Extensions/TextObject/textruntimeobject-pixi-renderer.js +2 -0
- package/dist/Runtime/Extensions/TextObject/textruntimeobject-pixi-renderer.js.map +7 -0
- package/dist/Runtime/Extensions/TextObject/textruntimeobject.js +2 -0
- package/dist/Runtime/Extensions/TextObject/textruntimeobject.js.map +7 -0
- package/dist/Runtime/Extensions/TileMap/JsExtension.js +1653 -0
- package/dist/Runtime/Extensions/TileMap/TileMapRuntimeManager.js +2 -0
- package/dist/Runtime/Extensions/TileMap/TileMapRuntimeManager.js.map +7 -0
- package/dist/Runtime/Extensions/TileMap/collision/TileMapCollisionMaskRenderer.js +2 -0
- package/dist/Runtime/Extensions/TileMap/collision/TileMapCollisionMaskRenderer.js.map +7 -0
- package/dist/Runtime/Extensions/TileMap/collision/TransformedTileMap.js +2 -0
- package/dist/Runtime/Extensions/TileMap/collision/TransformedTileMap.js.map +7 -0
- package/dist/Runtime/Extensions/TileMap/example/anotherIsland.json +5769 -0
- package/dist/Runtime/Extensions/TileMap/example/island.json +5823 -0
- package/dist/Runtime/Extensions/TileMap/helper/TileMapHelper.d.ts +25 -0
- package/dist/Runtime/Extensions/TileMap/helper/TileMapHelper.js +2 -0
- package/dist/Runtime/Extensions/TileMap/helper/TileMapHelper.js.map +7 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/index.d.ts +16 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/index.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/TileMapFileContent.d.ts +12 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/TileMapFileContent.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/TileMapLoader.d.ts +18 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/TileMapLoader.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/ldtk/LDtkFormat.d.ts +589 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/ldtk/LDtkFormat.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/ldtk/LDtkTileMapLoader.d.ts +16 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/ldtk/LDtkTileMapLoader.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/ldtk/LDtkTileMapLoaderHelper.d.ts +5 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/ldtk/LDtkTileMapLoaderHelper.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledFormat.d.ts +343 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledFormat.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledTileMapLoader.d.ts +16 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledTileMapLoader.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledTileMapLoader.spec.d.ts +2 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledTileMapLoader.spec.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledTileMapLoaderHelper.d.ts +37 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledTileMapLoaderHelper.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/model/CommonTypes.d.ts +5 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/model/CommonTypes.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/model/GID.d.ts +45 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/model/GID.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/model/TileMapModel.d.ts +361 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/model/TileMapModel.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/ResourceCache.d.ts +27 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/ResourceCache.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileMapManager.d.ts +70 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileMapManager.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileMapPixiHelper.d.ts +56 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileMapPixiHelper.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileTextureCache.d.ts +24 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileTextureCache.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/ldtk/LDtkPixiHelper.d.ts +26 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/ldtk/LDtkPixiHelper.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/tiled/TiledPixiHelper.d.ts +21 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/render/tiled/TiledPixiHelper.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/types/index.d.ts +12 -0
- package/dist/Runtime/Extensions/TileMap/helper/dts/types/index.d.ts.map +1 -0
- package/dist/Runtime/Extensions/TileMap/pako/dist/pako.d.ts +166 -0
- package/dist/Runtime/Extensions/TileMap/pako/dist/pako.min.js +2 -0
- package/dist/Runtime/Extensions/TileMap/pixi-tilemap/dist/global-pixi-tilemap.d.ts +23 -0
- package/dist/Runtime/Extensions/TileMap/pixi-tilemap/dist/pixi-tilemap.d.ts +270 -0
- package/dist/Runtime/Extensions/TileMap/pixi-tilemap/dist/pixi-tilemap.umd.js +74 -0
- package/dist/Runtime/Extensions/TileMap/pixi-tilemap/dist/pixi-tilemap.umd.js.map +7 -0
- package/dist/Runtime/Extensions/TileMap/tilemapcollisionmaskruntimeobject.js +2 -0
- package/dist/Runtime/Extensions/TileMap/tilemapcollisionmaskruntimeobject.js.map +7 -0
- package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject-pixi-renderer.js +2 -0
- package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject-pixi-renderer.js.map +7 -0
- package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject.js +2 -0
- package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject.js.map +7 -0
- package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js +2 -0
- package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js.map +7 -0
- package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject.js +2 -0
- package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject.js.map +7 -0
- package/dist/Runtime/Extensions/TopDownMovementBehavior/topdownmovementruntimebehavior.js +2 -0
- package/dist/Runtime/Extensions/TopDownMovementBehavior/topdownmovementruntimebehavior.js.map +7 -0
- package/dist/Runtime/Extensions/TweenBehavior/JsExtension.js +1087 -0
- package/dist/Runtime/Extensions/TweenBehavior/shifty.d.ts +839 -0
- package/dist/Runtime/Extensions/TweenBehavior/shifty.js +5 -0
- package/dist/Runtime/Extensions/TweenBehavior/shifty.js.map +1 -0
- package/dist/Runtime/Extensions/TweenBehavior/shifty_setup.js +2 -0
- package/dist/Runtime/Extensions/TweenBehavior/shifty_setup.js.map +7 -0
- package/dist/Runtime/Extensions/TweenBehavior/tweenruntimebehavior.js +2 -0
- package/dist/Runtime/Extensions/TweenBehavior/tweenruntimebehavior.js.map +7 -0
- package/dist/Runtime/Extensions/TweenBehavior/tweentools.js +2 -0
- package/dist/Runtime/Extensions/TweenBehavior/tweentools.js.map +7 -0
- package/dist/Runtime/Extensions/Video/JsExtension.js +694 -0
- package/dist/Runtime/Extensions/Video/videoruntimeobject-pixi-renderer.js +2 -0
- package/dist/Runtime/Extensions/Video/videoruntimeobject-pixi-renderer.js.map +7 -0
- package/dist/Runtime/Extensions/Video/videoruntimeobject.js +2 -0
- package/dist/Runtime/Extensions/Video/videoruntimeobject.js.map +7 -0
- package/dist/Runtime/FacebookInstantGames/fbapp-config.json +17 -0
- package/dist/Runtime/FacebookInstantGames/index.html +68 -0
- package/dist/Runtime/Model3DManager.js +2 -0
- package/dist/Runtime/Model3DManager.js.map +7 -0
- package/dist/Runtime/RuntimeCustomObjectLayer.js +2 -0
- package/dist/Runtime/RuntimeCustomObjectLayer.js.map +7 -0
- package/dist/Runtime/RuntimeInstanceContainer.js +2 -0
- package/dist/Runtime/RuntimeInstanceContainer.js.map +7 -0
- package/dist/Runtime/RuntimeLayer.js +2 -0
- package/dist/Runtime/RuntimeLayer.js.map +7 -0
- package/dist/Runtime/affinetransformation.js +2 -0
- package/dist/Runtime/affinetransformation.js.map +7 -0
- package/dist/Runtime/debugger-client/abstract-debugger-client.js +2 -0
- package/dist/Runtime/debugger-client/abstract-debugger-client.js.map +7 -0
- package/dist/Runtime/debugger-client/hot-reloader.js +2 -0
- package/dist/Runtime/debugger-client/hot-reloader.js.map +7 -0
- package/dist/Runtime/debugger-client/websocket-debugger-client.js +2 -0
- package/dist/Runtime/debugger-client/websocket-debugger-client.js.map +7 -0
- package/dist/Runtime/debugger-client/window-message-debugger-client.js +2 -0
- package/dist/Runtime/debugger-client/window-message-debugger-client.js.map +7 -0
- package/dist/Runtime/events-tools/cameratools.js +2 -0
- package/dist/Runtime/events-tools/cameratools.js.map +7 -0
- package/dist/Runtime/events-tools/commontools.js +2 -0
- package/dist/Runtime/events-tools/commontools.js.map +7 -0
- package/dist/Runtime/events-tools/inputtools.js +2 -0
- package/dist/Runtime/events-tools/inputtools.js.map +7 -0
- package/dist/Runtime/events-tools/networktools.js +2 -0
- package/dist/Runtime/events-tools/networktools.js.map +7 -0
- package/dist/Runtime/events-tools/objecttools.js +2 -0
- package/dist/Runtime/events-tools/objecttools.js.map +7 -0
- package/dist/Runtime/events-tools/runtimescenetools.js +2 -0
- package/dist/Runtime/events-tools/runtimescenetools.js.map +7 -0
- package/dist/Runtime/events-tools/soundtools.js +2 -0
- package/dist/Runtime/events-tools/soundtools.js.map +7 -0
- package/dist/Runtime/events-tools/storagetools.js +2 -0
- package/dist/Runtime/events-tools/storagetools.js.map +7 -0
- package/dist/Runtime/events-tools/stringtools.js +3 -0
- package/dist/Runtime/events-tools/stringtools.js.map +7 -0
- package/dist/Runtime/events-tools/variabletools.js +2 -0
- package/dist/Runtime/events-tools/variabletools.js.map +7 -0
- package/dist/Runtime/events-tools/windowtools.js +2 -0
- package/dist/Runtime/events-tools/windowtools.js.map +7 -0
- package/dist/Runtime/fontfaceobserver-font-manager/fontfaceobserver-font-manager.js +2 -0
- package/dist/Runtime/fontfaceobserver-font-manager/fontfaceobserver-font-manager.js.map +7 -0
- package/dist/Runtime/fontfaceobserver-font-manager/fontfaceobserver.js +16 -0
- package/dist/Runtime/force.js +2 -0
- package/dist/Runtime/force.js.map +7 -0
- package/dist/Runtime/gd.js +2 -0
- package/dist/Runtime/gd.js.map +7 -0
- package/dist/Runtime/howler-sound-manager/howler-sound-manager.js +2 -0
- package/dist/Runtime/howler-sound-manager/howler-sound-manager.js.map +7 -0
- package/dist/Runtime/howler-sound-manager/howler.min.js +3 -0
- package/dist/Runtime/index.html +55 -0
- package/dist/Runtime/inputmanager.js +2 -0
- package/dist/Runtime/inputmanager.js.map +7 -0
- package/dist/Runtime/jsonmanager.js +2 -0
- package/dist/Runtime/jsonmanager.js.map +7 -0
- package/dist/Runtime/layer.js +2 -0
- package/dist/Runtime/layer.js.map +7 -0
- package/dist/Runtime/libs/CocoonJS/cocoon.min.js +4 -0
- package/dist/Runtime/libs/jshashtable.js +2 -0
- package/dist/Runtime/libs/jshashtable.js.map +7 -0
- package/dist/Runtime/libs/rbush.js +624 -0
- package/dist/Runtime/logger.js +2 -0
- package/dist/Runtime/logger.js.map +7 -0
- package/dist/Runtime/oncetriggers.js +2 -0
- package/dist/Runtime/oncetriggers.js.map +7 -0
- package/dist/Runtime/pixi-renderers/CustomObjectPixiRenderer.js +2 -0
- package/dist/Runtime/pixi-renderers/CustomObjectPixiRenderer.js.map +7 -0
- package/dist/Runtime/pixi-renderers/DebuggerPixiRenderer.js +2 -0
- package/dist/Runtime/pixi-renderers/DebuggerPixiRenderer.js.map +7 -0
- package/dist/Runtime/pixi-renderers/RuntimeInstanceContainerPixiRenderer.js +1 -0
- package/dist/Runtime/pixi-renderers/RuntimeInstanceContainerPixiRenderer.js.map +7 -0
- package/dist/Runtime/pixi-renderers/ThreeAddons.js +2 -0
- package/dist/Runtime/pixi-renderers/draco/gltf/draco_decoder.wasm +0 -0
- package/dist/Runtime/pixi-renderers/draco/gltf/draco_wasm_wrapper.js +116 -0
- package/dist/Runtime/pixi-renderers/layer-pixi-renderer.js +15 -0
- package/dist/Runtime/pixi-renderers/layer-pixi-renderer.js.map +7 -0
- package/dist/Runtime/pixi-renderers/loadingscreen-pixi-renderer.js +2 -0
- package/dist/Runtime/pixi-renderers/loadingscreen-pixi-renderer.js.map +7 -0
- package/dist/Runtime/pixi-renderers/pixi-bitmapfont-manager.js +2 -0
- package/dist/Runtime/pixi-renderers/pixi-bitmapfont-manager.js.map +7 -0
- package/dist/Runtime/pixi-renderers/pixi-effects-manager.js +2 -0
- package/dist/Runtime/pixi-renderers/pixi-effects-manager.js.map +7 -0
- package/dist/Runtime/pixi-renderers/pixi-filters-tools.js +2 -0
- package/dist/Runtime/pixi-renderers/pixi-filters-tools.js.map +7 -0
- package/dist/Runtime/pixi-renderers/pixi-image-manager.js +2 -0
- package/dist/Runtime/pixi-renderers/pixi-image-manager.js.map +7 -0
- package/dist/Runtime/pixi-renderers/pixi.js +11 -0
- package/dist/Runtime/pixi-renderers/runtimegame-pixi-renderer.js +2 -0
- package/dist/Runtime/pixi-renderers/runtimegame-pixi-renderer.js.map +7 -0
- package/dist/Runtime/pixi-renderers/runtimescene-pixi-renderer.js +3 -0
- package/dist/Runtime/pixi-renderers/runtimescene-pixi-renderer.js.map +7 -0
- package/dist/Runtime/pixi-renderers/spriteruntimeobject-pixi-renderer.js +2 -0
- package/dist/Runtime/pixi-renderers/spriteruntimeobject-pixi-renderer.js.map +7 -0
- package/dist/Runtime/pixi-renderers/three.js +7 -0
- package/dist/Runtime/polygon.js +2 -0
- package/dist/Runtime/polygon.js.map +7 -0
- package/dist/Runtime/profiler.js +2 -0
- package/dist/Runtime/profiler.js.map +7 -0
- package/dist/Runtime/runtimebehavior.js +2 -0
- package/dist/Runtime/runtimebehavior.js.map +7 -0
- package/dist/Runtime/runtimegame.js +2 -0
- package/dist/Runtime/runtimegame.js.map +7 -0
- package/dist/Runtime/runtimeobject.js +2 -0
- package/dist/Runtime/runtimeobject.js.map +7 -0
- package/dist/Runtime/runtimescene.js +2 -0
- package/dist/Runtime/runtimescene.js.map +7 -0
- package/dist/Runtime/runtimewatermark.js +100 -0
- package/dist/Runtime/runtimewatermark.js.map +7 -0
- package/dist/Runtime/scenestack.js +2 -0
- package/dist/Runtime/scenestack.js.map +7 -0
- package/dist/Runtime/splash/gd-logo-dark-colored.js +2 -0
- package/dist/Runtime/splash/gd-logo-dark-colored.js.map +7 -0
- package/dist/Runtime/splash/gd-logo-dark.js +2 -0
- package/dist/Runtime/splash/gd-logo-dark.js.map +7 -0
- package/dist/Runtime/splash/gd-logo-light-colored.js +2 -0
- package/dist/Runtime/splash/gd-logo-light-colored.js.map +7 -0
- package/dist/Runtime/splash/gd-logo-light.js +2 -0
- package/dist/Runtime/splash/gd-logo-light.js.map +7 -0
- package/dist/Runtime/spriteruntimeobject.js +2 -0
- package/dist/Runtime/spriteruntimeobject.js.map +7 -0
- package/dist/Runtime/timemanager.js +2 -0
- package/dist/Runtime/timemanager.js.map +7 -0
- package/dist/Runtime/timer.js +2 -0
- package/dist/Runtime/timer.js.map +7 -0
- package/dist/Runtime/types/global-pixi.d.ts +22 -0
- package/dist/Runtime/types/global-three-addons.d.ts +9 -0
- package/dist/Runtime/types/global-three.d.ts +3 -0
- package/dist/Runtime/types/global-types.d.ts +61 -0
- package/dist/Runtime/types/howler.d.ts +313 -0
- package/dist/Runtime/types/project-data.d.ts +276 -0
- package/dist/Runtime/variable.js +2 -0
- package/dist/Runtime/variable.js.map +7 -0
- package/dist/Runtime/variablescontainer.js +2 -0
- package/dist/Runtime/variablescontainer.js.map +7 -0
- package/dist/lib/libGD.cjs +22 -0
- package/dist/lib/libGD.wasm +0 -0
- package/dist/loaders.js +1 -0
- package/package.json +24 -10
- package/src/downloadGD.js +0 -70
- package/src/index.js +21 -14
- package/examples/create-objects-from-json/assets/Blank button.png +0 -0
- package/examples/create-objects-from-json/game.json +0 -258
- package/examples/create-objects-from-json/index.js +0 -50
- package/examples/create-objects-from-json/mylist.json +0 -7
- package/examples/export-game/game.json +0 -205
- package/examples/export-game/index.js +0 -13
- package/src/CaseSensitiveSlug.js +0 -34
- package/src/EventsFunctionsExtensionsLoader/LocalEventsFunctionCodeWriter.js +0 -56
- package/src/EventsFunctionsExtensionsLoader/MetadataDeclarationHelpers.js +0 -489
- package/src/EventsFunctionsExtensionsLoader/index.js +0 -451
- package/src/JsExtensionsLoader/LocalJsExtensionsFinder.js +0 -42
- package/src/JsExtensionsLoader/LocalJsExtensionsLoader.js +0 -57
- package/src/JsExtensionsLoader/index.js +0 -101
- package/src/LocalFileSystem.js +0 -158
- package/src/LocalProjectOpener.js +0 -46
- package/src/LocalProjectWriter.js +0 -96
- package/src/MapFor.js +0 -46
- package/src/ObjectSplitter.js +0 -187
- package/src/Serializer.js +0 -35
- package/src/build.js +0 -51
- package/src/runtime-files-list.js +0 -143
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var gdjs;(r=>{class n{_items={};constructor(){return this}clear(){this._items={}}has(t){return this._items.hasOwnProperty(t)&&this._items[t].count>0}count(t){return this._items.hasOwnProperty(t)?this._items[t].count:0}maximum(t){return this._items.hasOwnProperty(t)?this._items[t].maxCount:0}add(t){this._items.hasOwnProperty(t)||this._makeItemEntry(t);const s=this._items[t];return s.unlimited||s.count<s.maxCount?(s.count++,!0):!1}setCount(t,s){this._items.hasOwnProperty(t)||this._makeItemEntry(t);const e=this._items[t],i=e.unlimited?s:Math.min(s,e.maxCount);return e.count=i,e.unlimited||s<=e.maxCount}isFull(t){if(!this._items.hasOwnProperty(t))return!1;const s=this._items[t];return!s.unlimited&&s.count>=s.maxCount}remove(t){if(!this._items.hasOwnProperty(t))return!1;const s=this._items[t];return s.count>0?(s.count--,s.count===0&&(s.equipped=!1),!0):!1}setMaximum(t,s){this._items.hasOwnProperty(t)||this._makeItemEntry(t),this._items[t].maxCount=s,this._items[t].unlimited=!1}setUnlimited(t,s){this._items.hasOwnProperty(t)||this._makeItemEntry(t),this._items[t].maxCount=0,this._items[t].unlimited=s}_makeItemEntry(t){this._items[t]={count:0,maxCount:0,unlimited:!0,equipped:!1}}equip(t,s){if(!this._items.hasOwnProperty(t))return!1;const e=this._items[t];if(s){if(e.count>0)return e.equipped=!0,!0}else return e.equipped=!1,!0;return!1}isEquipped(t){return this._items.hasOwnProperty(t)?this._items[t].equipped:!1}getAllItems(){return this._items}}r.Inventory=n})(gdjs||={});
|
|
2
|
+
//# sourceMappingURL=inventory.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../GDevelop/Extensions/Inventory/inventory.ts"],
|
|
4
|
+
"sourcesContent": ["namespace gdjs {\n export class Inventory {\n _items: any = {};\n\n constructor() {\n return this;\n }\n\n clear() {\n this._items = {};\n }\n\n has(itemName): boolean {\n return (\n this._items.hasOwnProperty(itemName) && this._items[itemName].count > 0\n );\n }\n\n count(itemName) {\n if (!this._items.hasOwnProperty(itemName)) {\n return 0;\n }\n return this._items[itemName].count;\n }\n\n maximum(itemName) {\n if (!this._items.hasOwnProperty(itemName)) {\n return 0;\n }\n return this._items[itemName].maxCount;\n }\n\n add(itemName) {\n if (!this._items.hasOwnProperty(itemName)) {\n this._makeItemEntry(itemName);\n }\n const item = this._items[itemName];\n if (item.unlimited || item.count < item.maxCount) {\n item.count++;\n return true;\n }\n return false;\n }\n\n setCount(itemName, count): void {\n if (!this._items.hasOwnProperty(itemName)) {\n this._makeItemEntry(itemName);\n }\n const item = this._items[itemName];\n const newCount = item.unlimited ? count : Math.min(count, item.maxCount);\n item.count = newCount;\n return item.unlimited || count <= item.maxCount;\n }\n\n isFull(itemName): boolean {\n if (!this._items.hasOwnProperty(itemName)) {\n return false;\n }\n const item = this._items[itemName];\n return !item.unlimited && item.count >= item.maxCount;\n }\n\n remove(itemName) {\n if (!this._items.hasOwnProperty(itemName)) {\n return false;\n }\n const item = this._items[itemName];\n if (item.count > 0) {\n item.count--;\n if (item.count === 0) {\n item.equipped = false;\n }\n return true;\n }\n return false;\n }\n\n setMaximum(itemName, maxCount): void {\n if (!this._items.hasOwnProperty(itemName)) {\n this._makeItemEntry(itemName);\n }\n this._items[itemName].maxCount = maxCount;\n this._items[itemName].unlimited = false;\n }\n\n setUnlimited(itemName, enable): void {\n if (!this._items.hasOwnProperty(itemName)) {\n this._makeItemEntry(itemName);\n }\n this._items[itemName].maxCount = 0;\n this._items[itemName].unlimited = enable;\n }\n\n _makeItemEntry(itemName) {\n this._items[itemName] = {\n count: 0,\n maxCount: 0,\n unlimited: true,\n equipped: false,\n };\n }\n\n equip(itemName, equip) {\n if (!this._items.hasOwnProperty(itemName)) {\n return false;\n }\n const item = this._items[itemName];\n if (!equip) {\n item.equipped = false;\n return true;\n } else {\n if (item.count > 0) {\n item.equipped = true;\n return true;\n }\n }\n return false;\n }\n\n isEquipped(itemName): boolean {\n if (!this._items.hasOwnProperty(itemName)) {\n return false;\n }\n return this._items[itemName].equipped;\n }\n\n getAllItems() {\n return this._items;\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,IAAU,MAAAA,GAAV,CACS,MAAMC,CAAU,CACrB,OAAc,CAAC,EAEf,aAAc,CACZ,OAAO,IACT,CAEA,OAAQ,CACN,KAAK,OAAS,CAAC,CACjB,CAEA,IAAIC,EAAmB,CACrB,OACE,KAAK,OAAO,eAAeA,CAAQ,GAAK,KAAK,OAAOA,CAAQ,EAAE,MAAQ,CAE1E,CAEA,MAAMA,EAAU,CACd,OAAK,KAAK,OAAO,eAAeA,CAAQ,EAGjC,KAAK,OAAOA,CAAQ,EAAE,MAFpB,CAGX,CAEA,QAAQA,EAAU,CAChB,OAAK,KAAK,OAAO,eAAeA,CAAQ,EAGjC,KAAK,OAAOA,CAAQ,EAAE,SAFpB,CAGX,CAEA,IAAIA,EAAU,CACP,KAAK,OAAO,eAAeA,CAAQ,GACtC,KAAK,eAAeA,CAAQ,EAE9B,MAAMC,EAAO,KAAK,OAAOD,CAAQ,EACjC,OAAIC,EAAK,WAAaA,EAAK,MAAQA,EAAK,UACtCA,EAAK,QACE,IAEF,EACT,CAEA,SAASD,EAAUE,EAAa,CACzB,KAAK,OAAO,eAAeF,CAAQ,GACtC,KAAK,eAAeA,CAAQ,EAE9B,MAAMC,EAAO,KAAK,OAAOD,CAAQ,EAC3BG,EAAWF,EAAK,UAAYC,EAAQ,KAAK,IAAIA,EAAOD,EAAK,QAAQ,EACvE,OAAAA,EAAK,MAAQE,EACNF,EAAK,WAAaC,GAASD,EAAK,QACzC,CAEA,OAAOD,EAAmB,CACxB,GAAI,CAAC,KAAK,OAAO,eAAeA,CAAQ,EACtC,MAAO,GAET,MAAMC,EAAO,KAAK,OAAOD,CAAQ,EACjC,MAAO,CAACC,EAAK,WAAaA,EAAK,OAASA,EAAK,QAC/C,CAEA,OAAOD,EAAU,CACf,GAAI,CAAC,KAAK,OAAO,eAAeA,CAAQ,EACtC,MAAO,GAET,MAAMC,EAAO,KAAK,OAAOD,CAAQ,EACjC,OAAIC,EAAK,MAAQ,GACfA,EAAK,QACDA,EAAK,QAAU,IACjBA,EAAK,SAAW,IAEX,IAEF,EACT,CAEA,WAAWD,EAAUI,EAAgB,CAC9B,KAAK,OAAO,eAAeJ,CAAQ,GACtC,KAAK,eAAeA,CAAQ,EAE9B,KAAK,OAAOA,CAAQ,EAAE,SAAWI,EACjC,KAAK,OAAOJ,CAAQ,EAAE,UAAY,EACpC,CAEA,aAAaA,EAAUK,EAAc,CAC9B,KAAK,OAAO,eAAeL,CAAQ,GACtC,KAAK,eAAeA,CAAQ,EAE9B,KAAK,OAAOA,CAAQ,EAAE,SAAW,EACjC,KAAK,OAAOA,CAAQ,EAAE,UAAYK,CACpC,CAEA,eAAeL,EAAU,CACvB,KAAK,OAAOA,CAAQ,EAAI,CACtB,MAAO,EACP,SAAU,EACV,UAAW,GACX,SAAU,EACZ,CACF,CAEA,MAAMA,EAAUM,EAAO,CACrB,GAAI,CAAC,KAAK,OAAO,eAAeN,CAAQ,EACtC,MAAO,GAET,MAAMC,EAAO,KAAK,OAAOD,CAAQ,EACjC,GAAKM,GAIH,GAAIL,EAAK,MAAQ,EACf,OAAAA,EAAK,SAAW,GACT,OALT,QAAAA,EAAK,SAAW,GACT,GAOT,MAAO,EACT,CAEA,WAAWD,EAAmB,CAC5B,OAAK,KAAK,OAAO,eAAeA,CAAQ,EAGjC,KAAK,OAAOA,CAAQ,EAAE,SAFpB,EAGX,CAEA,aAAc,CACZ,OAAO,KAAK,MACd,CACF,CAhIOF,EAAM,UAAAC,IADL",
|
|
6
|
+
"names": ["gdjs", "Inventory", "itemName", "item", "count", "newCount", "maxCount", "enable", "equip"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var gdjs;(c=>{class r{static get(d,l){const g=d.getGame();g.inventories||(g.inventories={});let m=g.inventories[l];return m||(m=g.inventories[l]=new c.Inventory),m}}c.InventoryManager=r;let C;(d=>{let p;(s=>(s.add=function(t,n,e){return r.get(t,n).add(e)},s.remove=function(t,n,e){return r.get(t,n).remove(e)},s.count=function(t,n,e){return r.get(t,n).count(e)},s.maximum=function(t,n,e){return r.get(t,n).maximum(e)},s.has=function(t,n,e){return r.get(t,n).has(e)},s.setMaximum=function(t,n,e,i){return r.get(t,n).setMaximum(e,i)},s.setUnlimited=function(t,n,e,i){return r.get(t,n).setUnlimited(e,i)},s.isFull=function(t,n,e){return r.get(t,n).isFull(e)},s.equip=function(t,n,e,i){return r.get(t,n).equip(e,i)},s.isEquipped=function(t,n,e){return r.get(t,n).isEquipped(e)},s.serializeToVariable=function(t,n,e){const i=c.InventoryManager.get(t,n).getAllItems();for(const u in i){const o=i[u],a=e.getChild(u);a.getChild("count").setNumber(o.count),a.getChild("maxCount").setNumber(o.maxCount),a.getChild("unlimited").setBoolean(o.unlimited),a.getChild("equipped").setBoolean(o.equipped)}},s.unserializeFromVariable=function(t,n,e){const i=c.InventoryManager.get(t,n);i.clear();const u=e.getAllChildren();for(const o in u){const a=u[o];i.setCount(o,a.getChild("count").getAsNumber()),i.setMaximum(o,a.getChild("maxCount").getAsNumber()),i.setUnlimited(o,a.getChild("unlimited").getAsBoolean()),i.equip(o,a.getChild("equipped").getAsBoolean())}}))(p=d.inventory||={})})(C=c.evtTools||={})})(gdjs||={});
|
|
2
|
+
//# sourceMappingURL=inventorytools.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../GDevelop/Extensions/Inventory/inventorytools.ts"],
|
|
4
|
+
"sourcesContent": ["namespace gdjs {\n export interface RuntimeGame {\n inventories: { [name: string]: gdjs.Inventory };\n }\n export class InventoryManager {\n static get(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n name: string\n ): gdjs.Inventory {\n const game = instanceContainer.getGame();\n if (!game.inventories) {\n game.inventories = {};\n }\n let inventory = game.inventories[name];\n if (!inventory) {\n inventory = game.inventories[name] = new gdjs.Inventory();\n }\n return inventory;\n }\n }\n\n export namespace evtTools {\n export namespace inventory {\n export const add = function (\n instanceContainer: gdjs.RuntimeInstanceContainer,\n inventoryName: string,\n name: string\n ) {\n return InventoryManager.get(instanceContainer, inventoryName).add(name);\n };\n\n export const remove = function (\n instanceContainer: gdjs.RuntimeInstanceContainer,\n inventoryName: string,\n name: string\n ) {\n return InventoryManager.get(instanceContainer, inventoryName).remove(\n name\n );\n };\n\n export const count = function (\n instanceContainer: gdjs.RuntimeInstanceContainer,\n inventoryName: string,\n name: string\n ) {\n return InventoryManager.get(instanceContainer, inventoryName).count(\n name\n );\n };\n\n export const maximum = function (\n instanceContainer: gdjs.RuntimeInstanceContainer,\n inventoryName: string,\n name: string\n ) {\n return InventoryManager.get(instanceContainer, inventoryName).maximum(\n name\n );\n };\n\n export const has = function (\n instanceContainer: gdjs.RuntimeInstanceContainer,\n inventoryName: string,\n name: string\n ) {\n return InventoryManager.get(instanceContainer, inventoryName).has(name);\n };\n\n export const setMaximum = function (\n instanceContainer: gdjs.RuntimeInstanceContainer,\n inventoryName: string,\n name: string,\n maxCount: number\n ) {\n return InventoryManager.get(\n instanceContainer,\n inventoryName\n ).setMaximum(name, maxCount);\n };\n\n export const setUnlimited = function (\n instanceContainer: gdjs.RuntimeInstanceContainer,\n inventoryName: string,\n name: string,\n enable: boolean\n ) {\n return InventoryManager.get(\n instanceContainer,\n inventoryName\n ).setUnlimited(name, enable);\n };\n\n export const isFull = function (\n instanceContainer: gdjs.RuntimeInstanceContainer,\n inventoryName: string,\n name: string\n ) {\n return InventoryManager.get(instanceContainer, inventoryName).isFull(\n name\n );\n };\n\n export const equip = function (\n instanceContainer: gdjs.RuntimeInstanceContainer,\n inventoryName: string,\n name: string,\n equip: boolean\n ) {\n return InventoryManager.get(instanceContainer, inventoryName).equip(\n name,\n equip\n );\n };\n\n export const isEquipped = function (\n instanceContainer: gdjs.RuntimeInstanceContainer,\n inventoryName: string,\n name: string\n ) {\n return InventoryManager.get(\n instanceContainer,\n inventoryName\n ).isEquipped(name);\n };\n\n export const serializeToVariable = function (\n instanceContainer: gdjs.RuntimeInstanceContainer,\n inventoryName: string,\n variable: gdjs.Variable\n ) {\n const allItems = gdjs.InventoryManager.get(\n instanceContainer,\n inventoryName\n ).getAllItems();\n for (const name in allItems) {\n const item = allItems[name];\n const serializedItem = variable.getChild(name);\n serializedItem.getChild('count').setNumber(item.count);\n serializedItem.getChild('maxCount').setNumber(item.maxCount);\n serializedItem.getChild('unlimited').setBoolean(item.unlimited);\n serializedItem.getChild('equipped').setBoolean(item.equipped);\n }\n };\n\n export const unserializeFromVariable = function (\n instanceContainer: gdjs.RuntimeInstanceContainer,\n inventoryName: string,\n variable: gdjs.Variable\n ) {\n const inventory = gdjs.InventoryManager.get(\n instanceContainer,\n inventoryName\n );\n inventory.clear();\n\n const children = variable.getAllChildren();\n for (const name in children) {\n const serializedItem = children[name];\n inventory.setCount(\n name,\n serializedItem.getChild('count').getAsNumber()\n );\n inventory.setMaximum(\n name,\n serializedItem.getChild('maxCount').getAsNumber()\n );\n inventory.setUnlimited(\n name,\n serializedItem.getChild('unlimited').getAsBoolean()\n );\n inventory.equip(\n name,\n serializedItem.getChild('equipped').getAsBoolean()\n );\n }\n };\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["gdjs", "InventoryManager", "instanceContainer", "name", "game", "inventory", "evtTools", "inventoryName", "maxCount", "enable", "equip", "variable", "allItems", "item", "serializedItem", "children"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// @flow
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @file This file contains the (Flow) types that are used in the JavaScript
|
|
5
|
+
* extensions declaration (i.e: JsExtension.js files).
|
|
6
|
+
* Extension runtime files are in TypeScript (ts files) and not using Flow.
|
|
7
|
+
*
|
|
8
|
+
* If you do changes here, run `node import-GDJS-Runtime.js` (in newIDE/app/scripts),
|
|
9
|
+
* and be sure that the types declared here are reflecting the types exposed by the editor.
|
|
10
|
+
*
|
|
11
|
+
* Note that Flow comments are used to avoid having to preprocess this file and the
|
|
12
|
+
* JsExtension.js files through Babel. This allows to keep plain JS files, while allowing
|
|
13
|
+
* Flow static type checking to be run on them when integrated in the editor.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/*::
|
|
17
|
+
export type ObjectsRenderingService = {
|
|
18
|
+
gd: libGDevelop,
|
|
19
|
+
PIXI: any,
|
|
20
|
+
THREE: any,
|
|
21
|
+
THREE_ADDONS: {SkeletonUtils: any},
|
|
22
|
+
RenderedInstance: any,
|
|
23
|
+
Rendered3DInstance: any,
|
|
24
|
+
registerInstanceRenderer: (objectType: string, renderer: any) => void,
|
|
25
|
+
registerInstance3DRenderer: (objectType: string, renderer: any) => void,
|
|
26
|
+
requireModule: (dirname: string, moduleName: string) => any,
|
|
27
|
+
getThumbnail: (project: gdProject, objectConfiguration: gdObjectConfiguration) => string,
|
|
28
|
+
rgbOrHexToHexNumber: (value: string) => number,
|
|
29
|
+
};
|
|
30
|
+
export type ObjectsEditorService = {
|
|
31
|
+
registerEditorConfiguration: (objectType: string, editorConfiguration: any) => void,
|
|
32
|
+
getDefaultObjectJsImplementationPropertiesEditor: ({| helpPagePath: string |}) => any,
|
|
33
|
+
};
|
|
34
|
+
*/
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
// @flow
|
|
2
|
+
/**
|
|
3
|
+
* This is a declaration of an extension for GDevelop 5.
|
|
4
|
+
*
|
|
5
|
+
* ℹ️ Changes in this file are watched and automatically imported if the editor
|
|
6
|
+
* is running. You can also manually run `node import-GDJS-Runtime.js` (in newIDE/app/scripts).
|
|
7
|
+
*
|
|
8
|
+
* The file must be named "JsExtension.js", otherwise GDevelop won't load it.
|
|
9
|
+
* ⚠️ If you make a change and the extension is not loaded, open the developer console
|
|
10
|
+
* and search for any errors.
|
|
11
|
+
*
|
|
12
|
+
* More information on https://github.com/4ian/GDevelop/blob/master/newIDE/README-extensions.md
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/*::
|
|
16
|
+
// Import types to allow Flow to do static type checking on this file.
|
|
17
|
+
// Extensions declaration are typed using Flow (like the editor), but the files
|
|
18
|
+
// for the game engine are checked with TypeScript annotations.
|
|
19
|
+
import { type ObjectsRenderingService, type ObjectsEditorService } from '../JsExtensionTypes.flow.js'
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
module.exports = {
|
|
23
|
+
createExtension: function (
|
|
24
|
+
_ /*: (string) => string */,
|
|
25
|
+
gd /*: libGDevelop */
|
|
26
|
+
) {
|
|
27
|
+
const extension = new gd.PlatformExtension();
|
|
28
|
+
extension
|
|
29
|
+
.setExtensionInformation(
|
|
30
|
+
'Leaderboards',
|
|
31
|
+
_('Leaderboards'),
|
|
32
|
+
_('Allow your game to send scores to your leaderboards.'),
|
|
33
|
+
'Florian Rival',
|
|
34
|
+
'Open source (MIT License)'
|
|
35
|
+
)
|
|
36
|
+
.setExtensionHelpPath('/all-features/leaderboards')
|
|
37
|
+
.setCategory('Players')
|
|
38
|
+
.addInstructionOrExpressionGroupMetadata(_('Leaderboards'))
|
|
39
|
+
.setIcon('JsPlatform/Extensions/leaderboard.svg');
|
|
40
|
+
|
|
41
|
+
extension
|
|
42
|
+
.addAction(
|
|
43
|
+
'SavePlayerScore',
|
|
44
|
+
_('Save player score'),
|
|
45
|
+
_("Save the player's score to the given leaderboard."),
|
|
46
|
+
_(
|
|
47
|
+
'Send to leaderboard _PARAM1_ the score _PARAM2_ with player name: _PARAM3_'
|
|
48
|
+
),
|
|
49
|
+
_('Save score'),
|
|
50
|
+
'JsPlatform/Extensions/leaderboard.svg',
|
|
51
|
+
'JsPlatform/Extensions/leaderboard.svg'
|
|
52
|
+
)
|
|
53
|
+
.addCodeOnlyParameter('currentScene', '')
|
|
54
|
+
.addParameter('leaderboardId', _('Leaderboard'), '', false)
|
|
55
|
+
.addParameter(
|
|
56
|
+
'expression',
|
|
57
|
+
_('Score to register for the player'),
|
|
58
|
+
'',
|
|
59
|
+
false
|
|
60
|
+
)
|
|
61
|
+
.addParameter('string', _('Name to register for the player'), '', false)
|
|
62
|
+
.setHelpPath('/all-features/leaderboards')
|
|
63
|
+
.getCodeExtraInformation()
|
|
64
|
+
.setIncludeFile('Extensions/Leaderboards/sha256.js')
|
|
65
|
+
.addIncludeFile('Extensions/Leaderboards/leaderboardstools.js')
|
|
66
|
+
.setFunctionName('gdjs.evtTools.leaderboards.savePlayerScore');
|
|
67
|
+
|
|
68
|
+
extension
|
|
69
|
+
.addAction(
|
|
70
|
+
'SaveConnectedPlayerScore',
|
|
71
|
+
_('Save connected player score'),
|
|
72
|
+
_("Save the connected player's score to the given leaderboard."),
|
|
73
|
+
_(
|
|
74
|
+
'Send to leaderboard _PARAM1_ the score _PARAM2_ for the connected player'
|
|
75
|
+
),
|
|
76
|
+
_('Save score'),
|
|
77
|
+
'JsPlatform/Extensions/leaderboard.svg',
|
|
78
|
+
'JsPlatform/Extensions/leaderboard.svg'
|
|
79
|
+
)
|
|
80
|
+
.addCodeOnlyParameter('currentScene', '')
|
|
81
|
+
.addParameter('leaderboardId', _('Leaderboard'), '', false)
|
|
82
|
+
.addParameter(
|
|
83
|
+
'expression',
|
|
84
|
+
_('Score to register for the player'),
|
|
85
|
+
'',
|
|
86
|
+
false
|
|
87
|
+
)
|
|
88
|
+
.setHelpPath('/all-features/leaderboards')
|
|
89
|
+
.getCodeExtraInformation()
|
|
90
|
+
.setIncludeFile('Extensions/Leaderboards/sha256.js')
|
|
91
|
+
.addIncludeFile('Extensions/Leaderboards/leaderboardstools.js')
|
|
92
|
+
.setFunctionName('gdjs.evtTools.leaderboards.saveConnectedPlayerScore');
|
|
93
|
+
|
|
94
|
+
extension
|
|
95
|
+
.addCondition(
|
|
96
|
+
'HasLastSaveErrored',
|
|
97
|
+
_('Last score save has errored'),
|
|
98
|
+
_('Check if the last attempt to save a score has errored.'),
|
|
99
|
+
_('Last score save in leaderboard _PARAM0_ has errored'),
|
|
100
|
+
_('Save score'),
|
|
101
|
+
'JsPlatform/Extensions/leaderboard.svg',
|
|
102
|
+
'JsPlatform/Extensions/leaderboard.svg'
|
|
103
|
+
)
|
|
104
|
+
.addParameter('leaderboardId', _('Leaderboard'), '', true)
|
|
105
|
+
.setParameterLongDescription(
|
|
106
|
+
_(
|
|
107
|
+
'If no leaderboard is specified, will return the value related to the last leaderboard save action.'
|
|
108
|
+
)
|
|
109
|
+
)
|
|
110
|
+
.setHelpPath('/all-features/leaderboards')
|
|
111
|
+
.getCodeExtraInformation()
|
|
112
|
+
.setIncludeFile('Extensions/Leaderboards/leaderboardstools.js')
|
|
113
|
+
.setFunctionName('gdjs.evtTools.leaderboards.hasSavingErrored');
|
|
114
|
+
|
|
115
|
+
extension
|
|
116
|
+
.addCondition(
|
|
117
|
+
'HasLastSaveSucceeded',
|
|
118
|
+
_('Last score save has succeeded'),
|
|
119
|
+
_('Check if the last attempt to save a score has succeeded.'),
|
|
120
|
+
_('Last score save in leaderboard _PARAM0_ has succeeded'),
|
|
121
|
+
_('Save score'),
|
|
122
|
+
'JsPlatform/Extensions/leaderboard.svg',
|
|
123
|
+
'JsPlatform/Extensions/leaderboard.svg'
|
|
124
|
+
)
|
|
125
|
+
.addParameter('leaderboardId', _('Leaderboard'), '', true)
|
|
126
|
+
.setParameterLongDescription(
|
|
127
|
+
_(
|
|
128
|
+
'If no leaderboard is specified, will return the value related to the last leaderboard save action that successfully ended.'
|
|
129
|
+
)
|
|
130
|
+
)
|
|
131
|
+
.setHelpPath('/all-features/leaderboards')
|
|
132
|
+
.getCodeExtraInformation()
|
|
133
|
+
.setIncludeFile('Extensions/Leaderboards/leaderboardstools.js')
|
|
134
|
+
.setFunctionName('gdjs.evtTools.leaderboards.hasBeenSaved');
|
|
135
|
+
|
|
136
|
+
extension
|
|
137
|
+
.addCondition(
|
|
138
|
+
'IsSaving',
|
|
139
|
+
_('Score is saving'),
|
|
140
|
+
_('Check if a score is currently being saved in leaderboard.'),
|
|
141
|
+
_('Score is saving in leaderboard _PARAM0_'),
|
|
142
|
+
_('Save score'),
|
|
143
|
+
'JsPlatform/Extensions/leaderboard.svg',
|
|
144
|
+
'JsPlatform/Extensions/leaderboard.svg'
|
|
145
|
+
)
|
|
146
|
+
.addParameter('leaderboardId', _('Leaderboard'), '', true)
|
|
147
|
+
.setParameterLongDescription(
|
|
148
|
+
_(
|
|
149
|
+
'If no leaderboard is specified, will return the value related to the last leaderboard save action.'
|
|
150
|
+
)
|
|
151
|
+
)
|
|
152
|
+
.setHelpPath('/all-features/leaderboards')
|
|
153
|
+
.getCodeExtraInformation()
|
|
154
|
+
.setIncludeFile('Extensions/Leaderboards/leaderboardstools.js')
|
|
155
|
+
.setFunctionName('gdjs.evtTools.leaderboards.isSaving');
|
|
156
|
+
|
|
157
|
+
extension
|
|
158
|
+
.addCondition(
|
|
159
|
+
'HasPlayerJustClosedLeaderboardView',
|
|
160
|
+
_('Closed by player'),
|
|
161
|
+
_('Check if the player has just closed the leaderboard view.'),
|
|
162
|
+
_('Player has just closed the leaderboard view'),
|
|
163
|
+
_('Display leaderboard'),
|
|
164
|
+
'JsPlatform/Extensions/leaderboard.svg',
|
|
165
|
+
'JsPlatform/Extensions/leaderboard.svg'
|
|
166
|
+
)
|
|
167
|
+
.setHelpPath('/all-features/leaderboards')
|
|
168
|
+
.getCodeExtraInformation()
|
|
169
|
+
.setIncludeFile('Extensions/Leaderboards/leaderboardstools.js')
|
|
170
|
+
.setFunctionName('gdjs.evtTools.leaderboards.hasPlayerJustClosedLeaderboardView');
|
|
171
|
+
|
|
172
|
+
extension
|
|
173
|
+
.addStrExpression(
|
|
174
|
+
'LastSaveError',
|
|
175
|
+
_('Error of last save attempt'),
|
|
176
|
+
_('Get the error of the last save attempt.'),
|
|
177
|
+
_('Save score'),
|
|
178
|
+
'JsPlatform/Extensions/leaderboard.svg'
|
|
179
|
+
)
|
|
180
|
+
.addParameter('leaderboardId', _('Leaderboard'), '', true)
|
|
181
|
+
.setParameterLongDescription(
|
|
182
|
+
_(
|
|
183
|
+
'If no leaderboard is specified, will return the value related to the last leaderboard save action.'
|
|
184
|
+
)
|
|
185
|
+
)
|
|
186
|
+
.getCodeExtraInformation()
|
|
187
|
+
.setIncludeFile('Extensions/Leaderboards/leaderboardstools.js')
|
|
188
|
+
.setFunctionName('gdjs.evtTools.leaderboards.getLastSaveError');
|
|
189
|
+
|
|
190
|
+
extension
|
|
191
|
+
.addCondition(
|
|
192
|
+
'IsLeaderboardViewErrored',
|
|
193
|
+
_('Leaderboard display has errored'),
|
|
194
|
+
_('Check if the display of the leaderboard errored.'),
|
|
195
|
+
_('Leaderboard display has errored'),
|
|
196
|
+
_('Display leaderboard'),
|
|
197
|
+
'JsPlatform/Extensions/leaderboard.svg',
|
|
198
|
+
'JsPlatform/Extensions/leaderboard.svg'
|
|
199
|
+
)
|
|
200
|
+
.setHelpPath('/all-features/leaderboards')
|
|
201
|
+
.getCodeExtraInformation()
|
|
202
|
+
.setIncludeFile('Extensions/Leaderboards/leaderboardstools.js')
|
|
203
|
+
.setFunctionName('gdjs.evtTools.leaderboards.isLeaderboardViewErrored');
|
|
204
|
+
|
|
205
|
+
extension
|
|
206
|
+
.addCondition(
|
|
207
|
+
'IsLeaderboardViewLoaded',
|
|
208
|
+
_('Leaderboard display has loaded'),
|
|
209
|
+
_(
|
|
210
|
+
'Check if the display of the leaderboard has finished loading and been displayed on screen.'
|
|
211
|
+
),
|
|
212
|
+
_('Leaderboard display has loaded and is displayed on screen'),
|
|
213
|
+
_('Display leaderboard'),
|
|
214
|
+
'JsPlatform/Extensions/leaderboard.svg',
|
|
215
|
+
'JsPlatform/Extensions/leaderboard.svg'
|
|
216
|
+
)
|
|
217
|
+
.setHelpPath('/all-features/leaderboards')
|
|
218
|
+
.getCodeExtraInformation()
|
|
219
|
+
.setIncludeFile('Extensions/Leaderboards/leaderboardstools.js')
|
|
220
|
+
.setFunctionName('gdjs.evtTools.leaderboards.isLeaderboardViewLoaded');
|
|
221
|
+
|
|
222
|
+
extension
|
|
223
|
+
.addCondition(
|
|
224
|
+
'IsLeaderboardViewLoading',
|
|
225
|
+
_('Leaderboard display is loading'),
|
|
226
|
+
_('Check if the display of the leaderboard is loading.'),
|
|
227
|
+
_('Leaderboard display is loading'),
|
|
228
|
+
_('Display leaderboard'),
|
|
229
|
+
'JsPlatform/Extensions/leaderboard.svg',
|
|
230
|
+
'JsPlatform/Extensions/leaderboard.svg'
|
|
231
|
+
)
|
|
232
|
+
.setHelpPath('/all-features/leaderboards')
|
|
233
|
+
.getCodeExtraInformation()
|
|
234
|
+
.setIncludeFile('Extensions/Leaderboards/leaderboardstools.js')
|
|
235
|
+
.setFunctionName('gdjs.evtTools.leaderboards.isLeaderboardViewLoading');
|
|
236
|
+
|
|
237
|
+
extension
|
|
238
|
+
.addStrExpression(
|
|
239
|
+
'FormatPlayerName',
|
|
240
|
+
_('Format player name'),
|
|
241
|
+
_('Formats a name so that it can be submitted to a leaderboard.'),
|
|
242
|
+
_('Save score'),
|
|
243
|
+
'JsPlatform/Extensions/leaderboard.svg'
|
|
244
|
+
)
|
|
245
|
+
.addParameter('string', _('Raw player name'), '', false)
|
|
246
|
+
.getCodeExtraInformation()
|
|
247
|
+
.setIncludeFile('Extensions/Leaderboards/leaderboardstools.js')
|
|
248
|
+
.setFunctionName('gdjs.evtTools.leaderboards.formatPlayerName');
|
|
249
|
+
|
|
250
|
+
extension
|
|
251
|
+
.addAction(
|
|
252
|
+
'DisplayLeaderboard',
|
|
253
|
+
_('Display leaderboard'),
|
|
254
|
+
_(
|
|
255
|
+
'Display the specified leaderboard on top of the game. If a leaderboard was already displayed on top of the game, the new leaderboard will replace it.'
|
|
256
|
+
),
|
|
257
|
+
_('Display leaderboard _PARAM1_ (display a loader: _PARAM2_)'),
|
|
258
|
+
_('Display leaderboard'),
|
|
259
|
+
'JsPlatform/Extensions/leaderboard.svg',
|
|
260
|
+
'JsPlatform/Extensions/leaderboard.svg'
|
|
261
|
+
)
|
|
262
|
+
.addCodeOnlyParameter('currentScene', '')
|
|
263
|
+
.addParameter('leaderboardId', _('Leaderboard'), '', false)
|
|
264
|
+
.addParameter(
|
|
265
|
+
'yesorno',
|
|
266
|
+
_('Display loader while leaderboard is loading'),
|
|
267
|
+
'',
|
|
268
|
+
false
|
|
269
|
+
)
|
|
270
|
+
.setHelpPath('/all-features/leaderboards')
|
|
271
|
+
.getCodeExtraInformation()
|
|
272
|
+
.setIncludeFile('Extensions/Leaderboards/leaderboardstools.js')
|
|
273
|
+
.setFunctionName('gdjs.evtTools.leaderboards.displayLeaderboard');
|
|
274
|
+
|
|
275
|
+
extension
|
|
276
|
+
.addAction(
|
|
277
|
+
'CloseLeaderboardView',
|
|
278
|
+
_('Close current leaderboard'),
|
|
279
|
+
_('Close the leaderboard currently displayed on top of the game.'),
|
|
280
|
+
_('Close current leaderboard displayed on top of the game'),
|
|
281
|
+
_('Display leaderboard'),
|
|
282
|
+
'JsPlatform/Extensions/leaderboard.svg',
|
|
283
|
+
'JsPlatform/Extensions/leaderboard.svg'
|
|
284
|
+
)
|
|
285
|
+
.addCodeOnlyParameter('currentScene', '')
|
|
286
|
+
.setHelpPath('/all-features/leaderboards')
|
|
287
|
+
.getCodeExtraInformation()
|
|
288
|
+
.setIncludeFile('Extensions/Leaderboards/leaderboardstools.js')
|
|
289
|
+
.setFunctionName('gdjs.evtTools.leaderboards.closeLeaderboardView');
|
|
290
|
+
|
|
291
|
+
return extension;
|
|
292
|
+
},
|
|
293
|
+
runExtensionSanityTests: function (
|
|
294
|
+
gd /*: libGDevelop */,
|
|
295
|
+
extension /*: gdPlatformExtension*/
|
|
296
|
+
) {
|
|
297
|
+
return [];
|
|
298
|
+
},
|
|
299
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var gdjs;(S=>{const o=new S.Logger("Leaderboards");let k;(_=>{let G;(s=>{let C=!1;S.registerRuntimeScenePostEventsCallback(()=>{C=!1}),s.hasPlayerJustClosedLeaderboardView=()=>C;const U=t=>{const e=new jsSHA("SHA-256","TEXT",{encoding:"UTF8"});return e.update(t),e.getHash("B64")};class j{lastScoreSavingStartedAt;lastScoreSavingSucceededAt;currentlySavingScore;currentlySavingPlayerName;currentlySavingPlayerId;lastSavedScore;lastSavedPlayerName;lastSavedPlayerId;lastSaveError;isScoreSaving;hasScoreBeenSaved;hasScoreSavingErrored;constructor(){this.lastScoreSavingStartedAt=null,this.lastScoreSavingSucceededAt=null,this.currentlySavingScore=null,this.currentlySavingPlayerName=null,this.currentlySavingPlayerId=null,this.lastSavedScore=null,this.lastSavedPlayerName=null,this.lastSavedPlayerId=null,this.lastSaveError=null,this.isScoreSaving=!1,this.hasScoreBeenSaved=!1,this.hasScoreSavingErrored=!1}isSameAsLastScore({playerName:e,playerId:n,score:r}){return(!!e&&this.lastSavedPlayerName===e||!!n&&this.lastSavedPlayerId===n)&&this.lastSavedScore===r}isAlreadySavingThisScore({playerName:e,playerId:n,score:r}){return(!!e&&this.currentlySavingPlayerName===e||!!n&&this.currentlySavingPlayerId===n)&&this.isScoreSaving&&this.currentlySavingScore===r}isTooSoonToSaveAnotherScore(){return!!this.lastScoreSavingStartedAt&&Date.now()-this.lastScoreSavingStartedAt<500}startSaving({playerName:e,playerId:n,score:r}){this.lastScoreSavingStartedAt=Date.now(),this.isScoreSaving=!0,this.hasScoreBeenSaved=!1,this.hasScoreSavingErrored=!1,this.currentlySavingScore=r,e&&(this.currentlySavingPlayerName=e),n&&(this.currentlySavingPlayerId=n)}closeSaving(){this.lastScoreSavingSucceededAt=Date.now(),this.lastSavedScore=this.currentlySavingScore,this.lastSavedPlayerName=this.currentlySavingPlayerName,this.lastSavedPlayerId=this.currentlySavingPlayerId,this.isScoreSaving=!1,this.hasScoreBeenSaved=!0}setError(e){this.lastSaveError=e,this.isScoreSaving=!1,this.hasScoreBeenSaved=!1,this.hasScoreSavingErrored=!0}}let l={},p,d=null,D=!1,y=!1,h=!1,m=null,w=null;const g=document.createElement("div");g.style.backgroundColor="#000000",g.style.display="flex",g.style.height="100%",g.style.width="100%",g.style.justifyContent="center",g.style.alignItems="center",g.style.position="relative",g.style.zIndex="2";const b=document.createElement("img");b.setAttribute("width","50px"),b.setAttribute("src","data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CjxjaXJjbGUgb3BhY2l0eT0nMC4yNScgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iNCI+PC9jaXJjbGU+CjxwYXRoIG9wYWNpdHk9JzAuNzUnIGZpbGw9IiNGRkZGRkYiIGQ9Ik00IDEyYTggOCAwIDAxOC04VjBDNS4zNzMgMCAwIDUuMzczIDAgMTJoNHptMiA1LjI5MUE3Ljk2MiA3Ljk2MiAwIDAxNCAxMkgwYzAgMy4wNDIgMS4xMzUgNS44MjQgMyA3LjkzOGwzLTIuNjQ3eiI+PC9wYXRoPgo8L3N2Zz4=");try{b.animate([{transform:"rotate(0deg)"},{transform:"rotate(359deg)"}],{duration:3e3,iterations:1/0})}catch{o.warn("Animation not supported, loader will be fixed.")}g.appendChild(b);const E=function({hasSucceeded:t}){const e=a=>t?a.lastScoreSavingSucceededAt:a.lastScoreSavingStartedAt,n=Object.values(l).filter(a=>!!e(a));if(n.length===0)return null;let r=n[0];return n.forEach(a=>{const i=e(a),c=e(r);i&&c&&i>c&&(r=a)}),r},M=function({leaderboardId:t,playerName:e,authenticatedPlayerData:n,score:r,scoreSavingState:a,runtimeScene:i}){const I=`${i.getGame().isUsingGDevelopDevelopmentEnvironment()?"https://api-dev.gdevelop.io":"https://api.gdevelop.io"}/play`,T=i.getGame(),R={score:r,sessionId:T.getSessionId(),clientPlayerId:T.getPlayerId(),location:typeof window<"u"&&window.location?window.location.href:""},L={"Content-Type":"application/json"};let N=`${I}/game/${S.projectData.properties.projectUuid}/leaderboard/${t}/entry`;n?(L.Authorization=`player-game-token ${n.playerToken}`,N+=`?playerId=${n.playerId}`):R.playerName=(0,s.formatPlayerName)(e);const O=JSON.stringify(R);L.Digest=U(O),fetch(N,{body:O,method:"POST",headers:L}).then(v=>{if(!v.ok){const u=v.status.toString();o.error("Server responded with an error:",u,v.statusText),a.setError(u);return}return a.closeSaving(),v.text().then(u=>{},u=>{o.warn("An error occurred when reading response but score has been saved:",u)})},v=>{o.error("Error while submitting a leaderboard score:",v);const u="REQUEST_NOT_SENT";a.setError(u)})};s.savePlayerScore=function(t,e,n,r){let a;if(l[e]){a=l[e];let i=!0;if(i&&a.isAlreadySavingThisScore({playerName:r,score:n})&&(o.warn("There is already a request to save with this player name and this score. Ignoring this one."),i=!1),i&&a.isSameAsLastScore({playerName:r,score:n})&&(o.warn("The player and score to be sent are the same as previous one. Ignoring this one."),a.setError("SAME_AS_PREVIOUS"),i=!1),i&&a.isTooSoonToSaveAnotherScore()&&(o.warn("Last entry was sent too little time ago. Ignoring this one."),a.setError("TOO_FAST"),i=!1,a.lastScoreSavingStartedAt=Date.now()),!i)return}else a=new j,l[e]=a;a.startSaving({playerName:r,score:n}),M({leaderboardId:e,playerName:r,score:n,scoreSavingState:a,runtimeScene:t})},s.saveConnectedPlayerScore=function(t,e,n){let r;const a=S.playerAuthentication.getUserId(),i=S.playerAuthentication.getUserToken();if(!a||!i){o.warn("Cannot save a score for a connected player if the player is not connected.");return}if(l[e]){r=l[e];let c=!0;if(c&&r.isAlreadySavingThisScore({playerId:a,score:n})&&(o.warn("There is already a request to save with this player ID and this score. Ignoring this one."),c=!1),c&&r.isSameAsLastScore({playerId:a,score:n})&&(o.warn("The player and score to be sent are the same as previous one. Ignoring this one."),r.setError("SAME_AS_PREVIOUS"),c=!1),c&&r.isTooSoonToSaveAnotherScore()&&(o.warn("Last entry was sent too little time ago. Ignoring this one."),r.setError("TOO_FAST"),c=!1,r.lastScoreSavingStartedAt=Date.now()),!c)return}else r=new j,l[e]=r;r.startSaving({playerId:a,score:n}),M({leaderboardId:e,authenticatedPlayerData:{playerId:a,playerToken:i},score:n,scoreSavingState:r,runtimeScene:t})},s.isSaving=function(t){if(t)return l[t]?l[t].isScoreSaving:!1;const e=E({hasSucceeded:!1});return e?e.isScoreSaving:!1},s.hasBeenSaved=function(t){if(t)return l[t]?l[t].hasScoreBeenSaved:!1;const e=E({hasSucceeded:!0});return e?e.hasScoreBeenSaved:!1},s.hasSavingErrored=function(t){if(t)return l[t]?l[t].hasScoreSavingErrored:!1;const e=E({hasSucceeded:!1});return e?e.hasScoreSavingErrored:!1},s.getLastSaveError=function(t){if(t)return l[t]?l[t].lastSaveError:"NO_DATA_ERROR";const e=E({hasSucceeded:!1});return e?e.lastSaveError:"NO_DATA_ERROR"},s.formatPlayerName=function(t){return!t||typeof t!="string"||typeof t=="string"&&t.length===0?`Player${Math.round((Math.random()*9+1)*1e4)}`:t.trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s/g,"_").replace(/[^\w|-]/g,"").slice(0,30)};const z=function(t){return fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}}).then(e=>e.ok?!0:(o.error(`Error while fetching leaderboard view, server returned: ${e.status} ${e.statusText}`),!1),e=>(o.error("Error while fetching leaderboard view:",e),!1))},B=function(t,e,n){switch(n.data){case"closeLeaderboardView":C=!0,(0,s.closeLeaderboardView)(t);break;case"leaderboardViewLoaded":if(e&&(m&&clearTimeout(m),A(!1,t,{callOnErrorIfDomElementContainerMissing:!1})),!d){f(t,"The leaderboard view couldn't be found. Doing nothing.");return}d.style.opacity="1",h=!0,y=!1;break}},f=function(t,e){o.error(e),D=!0,y=!1,(0,s.closeLeaderboardView)(t)},P=t=>{m&&clearTimeout(m),m=setTimeout(()=>{h||f(t,"Leaderboard page did not send message in time. Closing leaderboard view.")},5e3)},A=function(t,e,n){const r=e.getGame().getRenderer().getDomElementContainer();if(!r)return n.callOnErrorIfDomElementContainerMissing&&f(e,"The div element covering the game couldn't be found, the leaderboard cannot be displayed."),!1;if(t)r.children&&r.children.length>0?r.insertBefore(g,r.children[0]):r.appendChild(g),d&&(d.style.opacity="0");else try{r.removeChild(g),d&&(d.style.opacity="1")}catch{}return!0},$=function(t){const e=document.createElement("iframe");return e.src=t,e.id="leaderboard-view",e.style.position="absolute",e.style.opacity="0",e.style.pointerEvents="all",e.style.backgroundColor="#FFFFFF",e.style.top="0px",e.style.height="100%",e.style.left="0px",e.style.width="100%",e.style.border="none",e};s.displayLeaderboard=function(t,e,n){if(e===p){if(y){o.warn(`Already loading the view for the requested loader (${e}), ignoring.`);return}if(h){o.warn(`Already loaded the view for the requested loader (${e}), ignoring.`);return}}p=e,D=!1,h=!1,y=!0,n&&A(!0,t,{callOnErrorIfDomElementContainerMissing:!0});const r=S.projectData.properties.projectUuid,a=t.getGame().isUsingGDevelopDevelopmentEnvironment(),i=`https://gd.games/games/${r}/leaderboard/${e}?inGameEmbedded=true${a?"&dev=true":""}`;z(i).then(c=>{if(e!==p){o.warn(`Received a response for leaderboard ${e} though the last leaderboard requested is ${p}, ignoring this response.`);return}if(!c){f(t,"Leaderboard data could not be fetched. Closing leaderboard view if there is one.");return}if(d)P(t),n&&A(!0,t,{callOnErrorIfDomElementContainerMissing:!1}),d.src=i;else{const I=t.getGame().getRenderer().getDomElementContainer();if(!I){f(t,"The div element covering the game couldn't be found, the leaderboard cannot be displayed.");return}P(t),d=$(i),typeof window<"u"&&(w=T=>{B(t,n,T)},window.addEventListener("message",w,!0)),I.appendChild(d)}},c=>{o.error(c),f(t,"An error occurred when fetching leaderboard data. Closing leaderboard view if there is one.")})},s.isLeaderboardViewErrored=function(){return D},s.isLeaderboardViewLoaded=function(){return h},s.isLeaderboardViewLoading=function(){return y},s.closeLeaderboardView=function(t){try{if(A(!1,t,{callOnErrorIfDomElementContainerMissing:!1}),!d){o.info("The iframe displaying the current leaderboard couldn't be found, the leaderboard view must be already closed.");return}const e=t.getGame().getRenderer().getDomElementContainer();if(!e){o.info("The div element covering the game couldn't be found, the leaderboard view must be already closed.");return}typeof window<"u"&&(window.removeEventListener("message",w,!0),w=null),e.removeChild(d),d=null}finally{h=!1;const e=t.getGame().getRenderer().getCanvas();e&&e.focus()}}})(G=_.leaderboards||={})})(k=S.evtTools||={})})(gdjs||={});
|
|
2
|
+
//# sourceMappingURL=leaderboardstools.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../GDevelop/Extensions/Leaderboards/leaderboardstools.ts"],
|
|
4
|
+
"sourcesContent": ["/// <reference path=\"sha256.d.ts\" />\n\n// TODO EBO Replace runtimeScene to instanceContainer.\nnamespace gdjs {\n const logger = new gdjs.Logger('Leaderboards');\n export namespace evtTools {\n export namespace leaderboards {\n let _hasPlayerJustClosedLeaderboardView = false;\n\n gdjs.registerRuntimeScenePostEventsCallback(() => {\n // Set it back to false for the next frame.\n _hasPlayerJustClosedLeaderboardView = false;\n });\n\n /**\n * Returns true if the player has just closed the leaderboard view.\n */\n export const hasPlayerJustClosedLeaderboardView = () =>\n _hasPlayerJustClosedLeaderboardView;\n\n const computeDigest = (payload: string): string => {\n const shaObj = new jsSHA('SHA-256', 'TEXT', { encoding: 'UTF8' });\n shaObj.update(payload);\n return shaObj.getHash('B64');\n };\n\n // Score saving\n class ScoreSavingState {\n lastScoreSavingStartedAt: number | null;\n lastScoreSavingSucceededAt: number | null;\n currentlySavingScore: number | null;\n currentlySavingPlayerName: string | null;\n currentlySavingPlayerId: string | null;\n lastSavedScore: number | null;\n lastSavedPlayerName: string | null;\n lastSavedPlayerId: string | null;\n lastSaveError: string | null;\n isScoreSaving: boolean;\n hasScoreBeenSaved: boolean;\n hasScoreSavingErrored: boolean;\n\n constructor() {\n this.lastScoreSavingStartedAt = null;\n this.lastScoreSavingSucceededAt = null;\n this.currentlySavingScore = null;\n this.currentlySavingPlayerName = null;\n this.currentlySavingPlayerId = null;\n this.lastSavedScore = null;\n this.lastSavedPlayerName = null;\n this.lastSavedPlayerId = null;\n this.lastSaveError = null;\n this.isScoreSaving = false;\n this.hasScoreBeenSaved = false;\n this.hasScoreSavingErrored = false;\n }\n\n isSameAsLastScore({\n playerName,\n playerId,\n score,\n }: {\n playerName?: string;\n playerId?: string;\n score: number;\n }): boolean {\n return (\n ((!!playerName && this.lastSavedPlayerName === playerName) ||\n (!!playerId && this.lastSavedPlayerId === playerId)) &&\n this.lastSavedScore === score\n );\n }\n\n isAlreadySavingThisScore({\n playerName,\n playerId,\n score,\n }: {\n playerName?: string;\n playerId?: string;\n score: number;\n }): boolean {\n return (\n ((!!playerName && this.currentlySavingPlayerName === playerName) ||\n (!!playerId && this.currentlySavingPlayerId === playerId)) &&\n this.isScoreSaving &&\n this.currentlySavingScore === score\n );\n }\n\n isTooSoonToSaveAnotherScore(): boolean {\n return (\n !!this.lastScoreSavingStartedAt &&\n Date.now() - this.lastScoreSavingStartedAt < 500\n );\n }\n\n startSaving({\n playerName,\n playerId,\n score,\n }: {\n playerName?: string;\n playerId?: string;\n score: number;\n }): void {\n this.lastScoreSavingStartedAt = Date.now();\n this.isScoreSaving = true;\n this.hasScoreBeenSaved = false;\n this.hasScoreSavingErrored = false;\n this.currentlySavingScore = score;\n if (playerName) this.currentlySavingPlayerName = playerName;\n if (playerId) this.currentlySavingPlayerId = playerId;\n }\n\n closeSaving(): void {\n this.lastScoreSavingSucceededAt = Date.now();\n this.lastSavedScore = this.currentlySavingScore;\n this.lastSavedPlayerName = this.currentlySavingPlayerName;\n this.lastSavedPlayerId = this.currentlySavingPlayerId;\n this.isScoreSaving = false;\n this.hasScoreBeenSaved = true;\n }\n\n setError(errorCode: string): void {\n this.lastSaveError = errorCode;\n this.isScoreSaving = false;\n this.hasScoreBeenSaved = false;\n this.hasScoreSavingErrored = true;\n }\n }\n\n let _scoreSavingStateByLeaderboard: {\n [leaderboardId: string]: ScoreSavingState;\n } = {};\n\n // Leaderboard display\n let _requestedLeaderboardId: string | null;\n let _leaderboardViewIframe: HTMLIFrameElement | null = null;\n let _leaderboardViewIframeErrored: boolean = false;\n let _leaderboardViewIframeLoading: boolean = false;\n let _leaderboardViewIframeLoaded: boolean = false;\n let _errorTimeoutId: NodeJS.Timeout | null = null;\n let _leaderboardViewClosingCallback:\n | ((event: MessageEvent) => void)\n | null = null;\n\n const _loaderContainer: HTMLDivElement = document.createElement('div');\n _loaderContainer.style.backgroundColor = '#000000';\n _loaderContainer.style.display = 'flex';\n _loaderContainer.style.height = '100%';\n _loaderContainer.style.width = '100%';\n _loaderContainer.style.justifyContent = 'center';\n _loaderContainer.style.alignItems = 'center';\n _loaderContainer.style.position = 'relative';\n _loaderContainer.style.zIndex = '2';\n const _loader = document.createElement('img');\n _loader.setAttribute('width', '50px');\n _loader.setAttribute(\n 'src',\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CjxjaXJjbGUgb3BhY2l0eT0nMC4yNScgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iNCI+PC9jaXJjbGU+CjxwYXRoIG9wYWNpdHk9JzAuNzUnIGZpbGw9IiNGRkZGRkYiIGQ9Ik00IDEyYTggOCAwIDAxOC04VjBDNS4zNzMgMCAwIDUuMzczIDAgMTJoNHptMiA1LjI5MUE3Ljk2MiA3Ljk2MiAwIDAxNCAxMkgwYzAgMy4wNDIgMS4xMzUgNS44MjQgMyA3LjkzOGwzLTIuNjQ3eiI+PC9wYXRoPgo8L3N2Zz4='\n );\n try {\n _loader.animate(\n [{ transform: 'rotate(0deg)' }, { transform: 'rotate(359deg)' }],\n {\n duration: 3000,\n iterations: Infinity,\n }\n );\n } catch {\n logger.warn('Animation not supported, loader will be fixed.');\n }\n _loaderContainer.appendChild(_loader);\n\n const getLastScoreSavingState = function ({\n hasSucceeded,\n }: {\n hasSucceeded: boolean;\n }): ScoreSavingState | null {\n const getDateField = (scoreSavingState: ScoreSavingState) =>\n hasSucceeded\n ? scoreSavingState.lastScoreSavingSucceededAt\n : scoreSavingState.lastScoreSavingStartedAt;\n const scoreSavingStates = Object.values(\n _scoreSavingStateByLeaderboard\n ).filter((scoreSavingState) => !!getDateField(scoreSavingState));\n if (scoreSavingStates.length === 0) return null;\n\n let lastScoreSavingState = scoreSavingStates[0];\n scoreSavingStates.forEach((scoreSavingState) => {\n const currentItemDate = getDateField(scoreSavingState);\n const lastItemDate = getDateField(lastScoreSavingState);\n if (\n currentItemDate &&\n lastItemDate &&\n currentItemDate > lastItemDate\n ) {\n lastScoreSavingState = scoreSavingState;\n }\n });\n return lastScoreSavingState;\n };\n\n const saveScore = function ({\n leaderboardId,\n playerName,\n authenticatedPlayerData,\n score,\n scoreSavingState,\n runtimeScene,\n }: {\n leaderboardId: string;\n playerName?: string | null;\n authenticatedPlayerData?: { playerId: string; playerToken: string };\n score: number;\n scoreSavingState: ScoreSavingState;\n runtimeScene: gdjs.RuntimeScene;\n }) {\n const rootApi = runtimeScene\n .getGame()\n .isUsingGDevelopDevelopmentEnvironment()\n ? 'https://api-dev.gdevelop.io'\n : 'https://api.gdevelop.io';\n const baseUrl = `${rootApi}/play`;\n const game = runtimeScene.getGame();\n const payloadObject = {\n score: score,\n sessionId: game.getSessionId(),\n clientPlayerId: game.getPlayerId(),\n location:\n typeof window !== 'undefined' && (window as any).location\n ? (window as any).location.href\n : '',\n };\n const headers = {\n 'Content-Type': 'application/json',\n };\n let leaderboardEntryCreationUrl = `${baseUrl}/game/${gdjs.projectData.properties.projectUuid}/leaderboard/${leaderboardId}/entry`;\n if (authenticatedPlayerData) {\n headers[\n 'Authorization'\n ] = `player-game-token ${authenticatedPlayerData.playerToken}`;\n leaderboardEntryCreationUrl += `?playerId=${authenticatedPlayerData.playerId}`;\n } else {\n // In case playerName is empty or undefined, the formatting will generate a random name.\n payloadObject['playerName'] = formatPlayerName(playerName);\n }\n const payload = JSON.stringify(payloadObject);\n headers['Digest'] = computeDigest(payload);\n\n fetch(leaderboardEntryCreationUrl, {\n body: payload,\n method: 'POST',\n headers: headers,\n }).then(\n (response) => {\n if (!response.ok) {\n const errorCode = response.status.toString();\n logger.error(\n 'Server responded with an error:',\n errorCode,\n response.statusText\n );\n scoreSavingState.setError(errorCode);\n return;\n }\n\n scoreSavingState.closeSaving();\n\n return response.text().then(\n (text) => {},\n (error) => {\n logger.warn(\n 'An error occurred when reading response but score has been saved:',\n error\n );\n }\n );\n },\n (error) => {\n logger.error('Error while submitting a leaderboard score:', error);\n const errorCode = 'REQUEST_NOT_SENT';\n scoreSavingState.setError(errorCode);\n }\n );\n };\n\n export const savePlayerScore = function (\n runtimeScene: gdjs.RuntimeScene,\n leaderboardId: string,\n score: float,\n playerName: string\n ) {\n let scoreSavingState: ScoreSavingState;\n if (_scoreSavingStateByLeaderboard[leaderboardId]) {\n scoreSavingState = _scoreSavingStateByLeaderboard[leaderboardId];\n let shouldStartSaving = true;\n if (\n shouldStartSaving &&\n scoreSavingState.isAlreadySavingThisScore({ playerName, score })\n ) {\n logger.warn(\n 'There is already a request to save with this player name and this score. Ignoring this one.'\n );\n shouldStartSaving = false;\n }\n\n if (\n shouldStartSaving &&\n scoreSavingState.isSameAsLastScore({ playerName, score })\n ) {\n logger.warn(\n 'The player and score to be sent are the same as previous one. Ignoring this one.'\n );\n scoreSavingState.setError('SAME_AS_PREVIOUS');\n shouldStartSaving = false;\n }\n\n if (\n shouldStartSaving &&\n scoreSavingState.isTooSoonToSaveAnotherScore()\n ) {\n logger.warn(\n 'Last entry was sent too little time ago. Ignoring this one.'\n );\n scoreSavingState.setError('TOO_FAST');\n shouldStartSaving = false;\n // Set the starting time to cancel all the following attempts that\n // are started too early after this one.\n scoreSavingState.lastScoreSavingStartedAt = Date.now();\n }\n if (!shouldStartSaving) {\n return;\n }\n } else {\n scoreSavingState = new ScoreSavingState();\n _scoreSavingStateByLeaderboard[leaderboardId] = scoreSavingState;\n }\n\n scoreSavingState.startSaving({ playerName, score });\n\n saveScore({\n leaderboardId,\n playerName,\n score,\n scoreSavingState,\n runtimeScene,\n });\n };\n\n export const saveConnectedPlayerScore = function (\n runtimeScene: gdjs.RuntimeScene,\n leaderboardId: string,\n score: float\n ) {\n let scoreSavingState: ScoreSavingState;\n const playerId = gdjs.playerAuthentication.getUserId();\n const playerToken = gdjs.playerAuthentication.getUserToken();\n if (!playerId || !playerToken) {\n logger.warn(\n 'Cannot save a score for a connected player if the player is not connected.'\n );\n return;\n }\n if (_scoreSavingStateByLeaderboard[leaderboardId]) {\n scoreSavingState = _scoreSavingStateByLeaderboard[leaderboardId];\n let shouldStartSaving = true;\n if (\n shouldStartSaving &&\n scoreSavingState.isAlreadySavingThisScore({ playerId, score })\n ) {\n logger.warn(\n 'There is already a request to save with this player ID and this score. Ignoring this one.'\n );\n shouldStartSaving = false;\n }\n\n if (\n shouldStartSaving &&\n scoreSavingState.isSameAsLastScore({ playerId, score })\n ) {\n logger.warn(\n 'The player and score to be sent are the same as previous one. Ignoring this one.'\n );\n scoreSavingState.setError('SAME_AS_PREVIOUS');\n shouldStartSaving = false;\n }\n\n if (\n shouldStartSaving &&\n scoreSavingState.isTooSoonToSaveAnotherScore()\n ) {\n logger.warn(\n 'Last entry was sent too little time ago. Ignoring this one.'\n );\n scoreSavingState.setError('TOO_FAST');\n shouldStartSaving = false;\n // Set the starting time to cancel all the following attempts that\n // are started too early after this one.\n scoreSavingState.lastScoreSavingStartedAt = Date.now();\n }\n if (!shouldStartSaving) {\n return;\n }\n } else {\n scoreSavingState = new ScoreSavingState();\n _scoreSavingStateByLeaderboard[leaderboardId] = scoreSavingState;\n }\n\n scoreSavingState.startSaving({ playerId, score });\n\n saveScore({\n leaderboardId,\n authenticatedPlayerData: { playerId, playerToken },\n score,\n scoreSavingState,\n runtimeScene,\n });\n };\n\n export const isSaving = function (leaderboardId?: string): boolean {\n if (leaderboardId) {\n return _scoreSavingStateByLeaderboard[leaderboardId]\n ? _scoreSavingStateByLeaderboard[leaderboardId].isScoreSaving\n : false;\n }\n\n const lastScoreSavingState = getLastScoreSavingState({\n hasSucceeded: false,\n });\n return lastScoreSavingState\n ? lastScoreSavingState.isScoreSaving\n : false;\n };\n\n export const hasBeenSaved = function (leaderboardId?: string): boolean {\n if (leaderboardId) {\n return _scoreSavingStateByLeaderboard[leaderboardId]\n ? _scoreSavingStateByLeaderboard[leaderboardId].hasScoreBeenSaved\n : false;\n }\n\n const lastScoreSavingState = getLastScoreSavingState({\n hasSucceeded: true,\n });\n return lastScoreSavingState\n ? lastScoreSavingState.hasScoreBeenSaved\n : false;\n };\n\n export const hasSavingErrored = function (\n leaderboardId?: string\n ): boolean {\n if (leaderboardId) {\n return _scoreSavingStateByLeaderboard[leaderboardId]\n ? _scoreSavingStateByLeaderboard[leaderboardId]\n .hasScoreSavingErrored\n : false;\n }\n\n const lastScoreSavingState = getLastScoreSavingState({\n hasSucceeded: false,\n });\n return lastScoreSavingState\n ? lastScoreSavingState.hasScoreSavingErrored\n : false;\n };\n\n export const getLastSaveError = function (\n leaderboardId?: string\n ): string | null {\n if (leaderboardId) {\n return _scoreSavingStateByLeaderboard[leaderboardId]\n ? _scoreSavingStateByLeaderboard[leaderboardId].lastSaveError\n : 'NO_DATA_ERROR';\n }\n\n const lastScoreSavingState = getLastScoreSavingState({\n hasSucceeded: false,\n });\n return lastScoreSavingState\n ? lastScoreSavingState.lastSaveError\n : 'NO_DATA_ERROR';\n };\n\n export const formatPlayerName = function (\n rawName?: string | null\n ): string {\n if (\n !rawName ||\n typeof rawName !== 'string' ||\n (typeof rawName === 'string' && rawName.length === 0)\n ) {\n return `Player${Math.round(\n (Math.random() * 9 + 1) * 10000 // Number between 10,000 and 99,999\n )}`;\n }\n return rawName\n .trim()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .replace(/\\s/g, '_')\n .replace(/[^\\w|-]/g, '')\n .slice(0, 30);\n };\n\n const checkLeaderboardAvailability = function (\n url: string\n ): Promise<boolean> {\n return fetch(url, {\n method: 'GET',\n headers: { 'Content-Type': 'application/json' },\n }).then(\n (response) => {\n if (!response.ok) {\n logger.error(\n `Error while fetching leaderboard view, server returned: ${response.status} ${response.statusText}`\n );\n return false;\n }\n return true;\n },\n (err) => {\n logger.error('Error while fetching leaderboard view:', err);\n return false;\n }\n );\n };\n\n const receiveMessageFromLeaderboardView = function (\n runtimeScene: gdjs.RuntimeScene,\n displayLoader: boolean,\n event: MessageEvent\n ) {\n switch (event.data) {\n case 'closeLeaderboardView':\n _hasPlayerJustClosedLeaderboardView = true;\n closeLeaderboardView(runtimeScene);\n break;\n case 'leaderboardViewLoaded':\n if (displayLoader) {\n if (_errorTimeoutId) clearTimeout(_errorTimeoutId);\n displayLoaderInLeaderboardView(false, runtimeScene, {\n callOnErrorIfDomElementContainerMissing: false,\n });\n }\n if (!_leaderboardViewIframe) {\n handleErrorDisplayingLeaderboard(\n runtimeScene,\n \"The leaderboard view couldn't be found. Doing nothing.\"\n );\n return;\n }\n _leaderboardViewIframe.style.opacity = '1';\n _leaderboardViewIframeLoaded = true;\n _leaderboardViewIframeLoading = false;\n\n break;\n }\n };\n\n const handleErrorDisplayingLeaderboard = function (\n runtimeScene: gdjs.RuntimeScene,\n message: string\n ) {\n logger.error(message);\n _leaderboardViewIframeErrored = true;\n _leaderboardViewIframeLoading = false;\n closeLeaderboardView(runtimeScene);\n };\n\n const resetLeaderboardDisplayErrorTimeout = (\n runtimeScene: gdjs.RuntimeScene\n ) => {\n if (_errorTimeoutId) clearTimeout(_errorTimeoutId);\n _errorTimeoutId = setTimeout(() => {\n if (!_leaderboardViewIframeLoaded) {\n handleErrorDisplayingLeaderboard(\n runtimeScene,\n 'Leaderboard page did not send message in time. Closing leaderboard view.'\n );\n }\n }, 5000);\n };\n\n const displayLoaderInLeaderboardView = function (\n yesOrNo: boolean,\n runtimeScene: gdjs.RuntimeScene,\n options: { callOnErrorIfDomElementContainerMissing: boolean }\n ): boolean {\n const domElementContainer = runtimeScene\n .getGame()\n .getRenderer()\n .getDomElementContainer();\n if (!domElementContainer) {\n if (options.callOnErrorIfDomElementContainerMissing) {\n handleErrorDisplayingLeaderboard(\n runtimeScene,\n \"The div element covering the game couldn't be found, the leaderboard cannot be displayed.\"\n );\n }\n return false;\n }\n if (yesOrNo) {\n if (\n domElementContainer.children &&\n domElementContainer.children.length > 0\n ) {\n domElementContainer.insertBefore(\n _loaderContainer,\n domElementContainer.children[0]\n );\n } else {\n domElementContainer.appendChild(_loaderContainer);\n }\n if (_leaderboardViewIframe) {\n _leaderboardViewIframe.style.opacity = '0';\n }\n } else {\n try {\n domElementContainer.removeChild(_loaderContainer);\n if (_leaderboardViewIframe) {\n _leaderboardViewIframe.style.opacity = '1';\n }\n } catch {}\n }\n return true;\n };\n\n const computeLeaderboardDisplayingIframe = function (\n url: string\n ): HTMLIFrameElement {\n const iframe = document.createElement('iframe');\n\n iframe.src = url;\n iframe.id = 'leaderboard-view';\n iframe.style.position = 'absolute';\n // To trigger iframe loading and be able to listen to its events, use `opacity: 0` instead of `visibility: hidden` or `display: none`\n iframe.style.opacity = '0';\n iframe.style.pointerEvents = 'all';\n iframe.style.backgroundColor = '#FFFFFF';\n iframe.style.top = '0px';\n iframe.style.height = '100%';\n iframe.style.left = '0px';\n iframe.style.width = '100%';\n iframe.style.border = 'none';\n\n return iframe;\n };\n\n export const displayLeaderboard = function (\n runtimeScene: gdjs.RuntimeScene,\n leaderboardId: string,\n displayLoader: boolean\n ) {\n // First ensure we're not trying to display multiple times the same leaderboard (in which case\n // we \"de-duplicate\" the request to display it).\n if (leaderboardId === _requestedLeaderboardId) {\n if (_leaderboardViewIframeLoading) {\n logger.warn(\n `Already loading the view for the requested loader (${leaderboardId}), ignoring.`\n );\n return;\n }\n if (_leaderboardViewIframeLoaded) {\n logger.warn(\n `Already loaded the view for the requested loader (${leaderboardId}), ignoring.`\n );\n return;\n }\n }\n\n // We are now assured we want to display a new (or different) leaderboard: start loading it.\n _requestedLeaderboardId = leaderboardId;\n _leaderboardViewIframeErrored = false;\n _leaderboardViewIframeLoaded = false;\n _leaderboardViewIframeLoading = true;\n\n if (displayLoader) {\n displayLoaderInLeaderboardView(true, runtimeScene, {\n callOnErrorIfDomElementContainerMissing: true,\n });\n }\n\n const gameId = gdjs.projectData.properties.projectUuid;\n const isDev = runtimeScene\n .getGame()\n .isUsingGDevelopDevelopmentEnvironment();\n const targetUrl = `https://gd.games/games/${gameId}/leaderboard/${leaderboardId}?inGameEmbedded=true${\n isDev ? '&dev=true' : ''\n }`;\n checkLeaderboardAvailability(targetUrl).then(\n (isAvailable) => {\n if (leaderboardId !== _requestedLeaderboardId) {\n logger.warn(\n `Received a response for leaderboard ${leaderboardId} though the last leaderboard requested is ${_requestedLeaderboardId}, ignoring this response.`\n );\n return;\n }\n if (!isAvailable) {\n handleErrorDisplayingLeaderboard(\n runtimeScene,\n 'Leaderboard data could not be fetched. Closing leaderboard view if there is one.'\n );\n return;\n }\n\n if (_leaderboardViewIframe) {\n resetLeaderboardDisplayErrorTimeout(runtimeScene);\n if (displayLoader) {\n displayLoaderInLeaderboardView(true, runtimeScene, {\n callOnErrorIfDomElementContainerMissing: false,\n });\n }\n _leaderboardViewIframe.src = targetUrl;\n } else {\n const domElementContainer = runtimeScene\n .getGame()\n .getRenderer()\n .getDomElementContainer();\n if (!domElementContainer) {\n handleErrorDisplayingLeaderboard(\n runtimeScene,\n \"The div element covering the game couldn't be found, the leaderboard cannot be displayed.\"\n );\n return;\n }\n\n resetLeaderboardDisplayErrorTimeout(runtimeScene);\n\n _leaderboardViewIframe = computeLeaderboardDisplayingIframe(\n targetUrl\n );\n if (typeof window !== 'undefined') {\n _leaderboardViewClosingCallback = (event: MessageEvent) => {\n receiveMessageFromLeaderboardView(\n runtimeScene,\n displayLoader,\n event\n );\n };\n (window as any).addEventListener(\n 'message',\n _leaderboardViewClosingCallback,\n true\n );\n }\n domElementContainer.appendChild(_leaderboardViewIframe);\n }\n },\n (err) => {\n logger.error(err);\n handleErrorDisplayingLeaderboard(\n runtimeScene,\n 'An error occurred when fetching leaderboard data. Closing leaderboard view if there is one.'\n );\n return;\n }\n );\n };\n\n export const isLeaderboardViewErrored = function (): boolean {\n return _leaderboardViewIframeErrored;\n };\n\n export const isLeaderboardViewLoaded = function (): boolean {\n return _leaderboardViewIframeLoaded;\n };\n\n export const isLeaderboardViewLoading = function (): boolean {\n return _leaderboardViewIframeLoading;\n };\n\n export const closeLeaderboardView = function (\n runtimeScene: gdjs.RuntimeScene\n ) {\n try {\n displayLoaderInLeaderboardView(false, runtimeScene, {\n callOnErrorIfDomElementContainerMissing: false,\n });\n\n if (!_leaderboardViewIframe) {\n logger.info(\n \"The iframe displaying the current leaderboard couldn't be found, the leaderboard view must be already closed.\"\n );\n return;\n }\n const domElementContainer = runtimeScene\n .getGame()\n .getRenderer()\n .getDomElementContainer();\n if (!domElementContainer) {\n logger.info(\n \"The div element covering the game couldn't be found, the leaderboard view must be already closed.\"\n );\n return;\n }\n\n if (typeof window !== 'undefined') {\n (window as any).removeEventListener(\n 'message',\n _leaderboardViewClosingCallback,\n true\n );\n _leaderboardViewClosingCallback = null;\n }\n domElementContainer.removeChild(_leaderboardViewIframe);\n _leaderboardViewIframe = null;\n } finally {\n // Don't reset the loading flag (the view of another leaderboard might be loading)\n // or the error flag (we want to persist the error flag even after the view is closed),\n // but reset the flag indicating the view is loaded (if it was).\n _leaderboardViewIframeLoaded = false;\n\n const gameCanvas = runtimeScene.getGame().getRenderer().getCanvas();\n if (gameCanvas) gameCanvas.focus();\n }\n };\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["gdjs", "logger", "evtTools", "leaderboards", "_hasPlayerJustClosedLeaderboardView", "computeDigest", "payload", "shaObj", "ScoreSavingState", "playerName", "playerId", "score", "errorCode", "_scoreSavingStateByLeaderboard", "_requestedLeaderboardId", "_leaderboardViewIframe", "_leaderboardViewIframeErrored", "_leaderboardViewIframeLoading", "_leaderboardViewIframeLoaded", "_errorTimeoutId", "_leaderboardViewClosingCallback", "_loaderContainer", "_loader", "getLastScoreSavingState", "hasSucceeded", "getDateField", "scoreSavingState", "scoreSavingStates", "lastScoreSavingState", "currentItemDate", "lastItemDate", "saveScore", "leaderboardId", "authenticatedPlayerData", "runtimeScene", "baseUrl", "game", "payloadObject", "headers", "leaderboardEntryCreationUrl", "response", "text", "error", "shouldStartSaving", "playerToken", "rawName", "checkLeaderboardAvailability", "url", "err", "receiveMessageFromLeaderboardView", "displayLoader", "event", "displayLoaderInLeaderboardView", "handleErrorDisplayingLeaderboard", "message", "resetLeaderboardDisplayErrorTimeout", "yesOrNo", "options", "domElementContainer", "computeLeaderboardDisplayingIframe", "iframe", "gameId", "isDev", "targetUrl", "isAvailable", "gameCanvas"]
|
|
7
|
+
}
|