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.
Files changed (601) hide show
  1. package/GDevelop/ExtLibs/7za.exe +0 -0
  2. package/GDevelop/ExtLibs/curl.exe +0 -0
  3. package/GDevelop/scripts/libgettextlib-0-17.dll +0 -0
  4. package/GDevelop/scripts/libgettextsrc-0-17.dll +0 -0
  5. package/LICENSE +1 -1
  6. package/dist/Runtime/AsyncTasksManager.js +5 -0
  7. package/dist/Runtime/AsyncTasksManager.js.map +7 -0
  8. package/dist/Runtime/Cordova/config.xml +44 -0
  9. package/dist/Runtime/Cordova/package.json +22 -0
  10. package/dist/Runtime/Cordova/www/index.html +45 -0
  11. package/dist/Runtime/CustomRuntimeObject.js +2 -0
  12. package/dist/Runtime/CustomRuntimeObject.js.map +7 -0
  13. package/dist/Runtime/CustomRuntimeObjectInstanceContainer.js +2 -0
  14. package/dist/Runtime/CustomRuntimeObjectInstanceContainer.js.map +7 -0
  15. package/dist/Runtime/Electron/main.js +65 -0
  16. package/dist/Runtime/Electron/package.json +26 -0
  17. package/dist/Runtime/Extensions/3D/A_RuntimeObject3D.js +2 -0
  18. package/dist/Runtime/Extensions/3D/A_RuntimeObject3D.js.map +7 -0
  19. package/dist/Runtime/Extensions/3D/A_RuntimeObject3DRenderer.js +2 -0
  20. package/dist/Runtime/Extensions/3D/A_RuntimeObject3DRenderer.js.map +7 -0
  21. package/dist/Runtime/Extensions/3D/AmbientLight.js +2 -0
  22. package/dist/Runtime/Extensions/3D/AmbientLight.js.map +7 -0
  23. package/dist/Runtime/Extensions/3D/Cube3DRuntimeObject.js +2 -0
  24. package/dist/Runtime/Extensions/3D/Cube3DRuntimeObject.js.map +7 -0
  25. package/dist/Runtime/Extensions/3D/Cube3DRuntimeObjectPixiRenderer.js +2 -0
  26. package/dist/Runtime/Extensions/3D/Cube3DRuntimeObjectPixiRenderer.js.map +7 -0
  27. package/dist/Runtime/Extensions/3D/DirectionalLight.js +2 -0
  28. package/dist/Runtime/Extensions/3D/DirectionalLight.js.map +7 -0
  29. package/dist/Runtime/Extensions/3D/ExponentialFog.js +2 -0
  30. package/dist/Runtime/Extensions/3D/ExponentialFog.js.map +7 -0
  31. package/dist/Runtime/Extensions/3D/HemisphereLight.js +2 -0
  32. package/dist/Runtime/Extensions/3D/HemisphereLight.js.map +7 -0
  33. package/dist/Runtime/Extensions/3D/JsExtension.js +2809 -0
  34. package/dist/Runtime/Extensions/3D/LinearFog.js +2 -0
  35. package/dist/Runtime/Extensions/3D/LinearFog.js.map +7 -0
  36. package/dist/Runtime/Extensions/3D/Model3DRuntimeObject.js +2 -0
  37. package/dist/Runtime/Extensions/3D/Model3DRuntimeObject.js.map +7 -0
  38. package/dist/Runtime/Extensions/3D/Model3DRuntimeObject3DRenderer.js +2 -0
  39. package/dist/Runtime/Extensions/3D/Model3DRuntimeObject3DRenderer.js.map +7 -0
  40. package/dist/Runtime/Extensions/3D/Scene3DTools.js +2 -0
  41. package/dist/Runtime/Extensions/3D/Scene3DTools.js.map +7 -0
  42. package/dist/Runtime/Extensions/AdMob/JsExtension.js +798 -0
  43. package/dist/Runtime/Extensions/AdMob/admobtools.js +2 -0
  44. package/dist/Runtime/Extensions/AdMob/admobtools.js.map +7 -0
  45. package/dist/Runtime/Extensions/AdvancedWindow/JsExtension.js +719 -0
  46. package/dist/Runtime/Extensions/AdvancedWindow/electron-advancedwindowtools.js +2 -0
  47. package/dist/Runtime/Extensions/AdvancedWindow/electron-advancedwindowtools.js.map +7 -0
  48. package/dist/Runtime/Extensions/AnchorBehavior/anchorruntimebehavior.js +2 -0
  49. package/dist/Runtime/Extensions/AnchorBehavior/anchorruntimebehavior.js.map +7 -0
  50. package/dist/Runtime/Extensions/BBText/JsExtension.js +639 -0
  51. package/dist/Runtime/Extensions/BBText/bbtextruntimeobject-pixi-renderer.js +2 -0
  52. package/dist/Runtime/Extensions/BBText/bbtextruntimeobject-pixi-renderer.js.map +7 -0
  53. package/dist/Runtime/Extensions/BBText/bbtextruntimeobject.js +2 -0
  54. package/dist/Runtime/Extensions/BBText/bbtextruntimeobject.js.map +7 -0
  55. package/dist/Runtime/Extensions/BBText/pixi-multistyle-text/dist/pixi-multistyle-text.umd.js +1 -0
  56. package/dist/Runtime/Extensions/BitmapText/JsExtension.js +756 -0
  57. package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject-pixi-renderer.js +2 -0
  58. package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject-pixi-renderer.js.map +7 -0
  59. package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject.js +2 -0
  60. package/dist/Runtime/Extensions/BitmapText/bitmaptextruntimeobject.js.map +7 -0
  61. package/dist/Runtime/Extensions/DebuggerTools/JsExtension.js +123 -0
  62. package/dist/Runtime/Extensions/DebuggerTools/debuggertools.js +2 -0
  63. package/dist/Runtime/Extensions/DebuggerTools/debuggertools.js.map +7 -0
  64. package/dist/Runtime/Extensions/DestroyOutsideBehavior/destroyoutsideruntimebehavior.js +2 -0
  65. package/dist/Runtime/Extensions/DestroyOutsideBehavior/destroyoutsideruntimebehavior.js.map +7 -0
  66. package/dist/Runtime/Extensions/DeviceSensors/JsExtension.js +461 -0
  67. package/dist/Runtime/Extensions/DeviceSensors/devicesensortools.js +2 -0
  68. package/dist/Runtime/Extensions/DeviceSensors/devicesensortools.js.map +7 -0
  69. package/dist/Runtime/Extensions/DeviceVibration/JsExtension.js +108 -0
  70. package/dist/Runtime/Extensions/DeviceVibration/devicevibrationtools.js +2 -0
  71. package/dist/Runtime/Extensions/DeviceVibration/devicevibrationtools.js.map +7 -0
  72. package/dist/Runtime/Extensions/DialogueTree/JsExtension.js +730 -0
  73. package/dist/Runtime/Extensions/DialogueTree/bondage.js/dist/bondage.min.js +11 -0
  74. package/dist/Runtime/Extensions/DialogueTree/dialoguetools.js +3 -0
  75. package/dist/Runtime/Extensions/DialogueTree/dialoguetools.js.map +7 -0
  76. package/dist/Runtime/Extensions/DraggableBehavior/draggableruntimebehavior.js +2 -0
  77. package/dist/Runtime/Extensions/DraggableBehavior/draggableruntimebehavior.js.map +7 -0
  78. package/dist/Runtime/Extensions/Effects/JsExtension.js +1197 -0
  79. package/dist/Runtime/Extensions/Effects/adjustment-pixi-filter.js +2 -0
  80. package/dist/Runtime/Extensions/Effects/adjustment-pixi-filter.js.map +7 -0
  81. package/dist/Runtime/Extensions/Effects/advanced-bloom-pixi-filter.js +2 -0
  82. package/dist/Runtime/Extensions/Effects/advanced-bloom-pixi-filter.js.map +7 -0
  83. package/dist/Runtime/Extensions/Effects/ascii-pixi-filter.js +2 -0
  84. package/dist/Runtime/Extensions/Effects/ascii-pixi-filter.js.map +7 -0
  85. package/dist/Runtime/Extensions/Effects/bevel-pixi-filter.js +2 -0
  86. package/dist/Runtime/Extensions/Effects/bevel-pixi-filter.js.map +7 -0
  87. package/dist/Runtime/Extensions/Effects/black-and-white-pixi-filter.js +2 -0
  88. package/dist/Runtime/Extensions/Effects/black-and-white-pixi-filter.js.map +7 -0
  89. package/dist/Runtime/Extensions/Effects/blending-mode-pixi-filter.js +2 -0
  90. package/dist/Runtime/Extensions/Effects/blending-mode-pixi-filter.js.map +7 -0
  91. package/dist/Runtime/Extensions/Effects/blur-pixi-filter.js +2 -0
  92. package/dist/Runtime/Extensions/Effects/blur-pixi-filter.js.map +7 -0
  93. package/dist/Runtime/Extensions/Effects/brightness-pixi-filter.js +2 -0
  94. package/dist/Runtime/Extensions/Effects/brightness-pixi-filter.js.map +7 -0
  95. package/dist/Runtime/Extensions/Effects/bulge-pinch-pixi-filter.js +2 -0
  96. package/dist/Runtime/Extensions/Effects/bulge-pinch-pixi-filter.js.map +7 -0
  97. package/dist/Runtime/Extensions/Effects/color-map-pixi-filter.js +2 -0
  98. package/dist/Runtime/Extensions/Effects/color-map-pixi-filter.js.map +7 -0
  99. package/dist/Runtime/Extensions/Effects/color-replace-pixi-filter.js +2 -0
  100. package/dist/Runtime/Extensions/Effects/color-replace-pixi-filter.js.map +7 -0
  101. package/dist/Runtime/Extensions/Effects/crt-pixi-filter.js +2 -0
  102. package/dist/Runtime/Extensions/Effects/crt-pixi-filter.js.map +7 -0
  103. package/dist/Runtime/Extensions/Effects/displacement-pixi-filter.js +2 -0
  104. package/dist/Runtime/Extensions/Effects/displacement-pixi-filter.js.map +7 -0
  105. package/dist/Runtime/Extensions/Effects/dot-pixi-filter.js +2 -0
  106. package/dist/Runtime/Extensions/Effects/dot-pixi-filter.js.map +7 -0
  107. package/dist/Runtime/Extensions/Effects/drop-shadow-pixi-filter.js +2 -0
  108. package/dist/Runtime/Extensions/Effects/drop-shadow-pixi-filter.js.map +7 -0
  109. package/dist/Runtime/Extensions/Effects/glitch-pixi-filter.js +2 -0
  110. package/dist/Runtime/Extensions/Effects/glitch-pixi-filter.js.map +7 -0
  111. package/dist/Runtime/Extensions/Effects/glow-pixi-filter.js +2 -0
  112. package/dist/Runtime/Extensions/Effects/glow-pixi-filter.js.map +7 -0
  113. package/dist/Runtime/Extensions/Effects/godray-pixi-filter.js +2 -0
  114. package/dist/Runtime/Extensions/Effects/godray-pixi-filter.js.map +7 -0
  115. package/dist/Runtime/Extensions/Effects/kawase-blur-pixi-filter.js +2 -0
  116. package/dist/Runtime/Extensions/Effects/kawase-blur-pixi-filter.js.map +7 -0
  117. package/dist/Runtime/Extensions/Effects/light-night-pixi-filter.js +3 -0
  118. package/dist/Runtime/Extensions/Effects/light-night-pixi-filter.js.map +7 -0
  119. package/dist/Runtime/Extensions/Effects/night-pixi-filter.js +3 -0
  120. package/dist/Runtime/Extensions/Effects/night-pixi-filter.js.map +7 -0
  121. package/dist/Runtime/Extensions/Effects/noise-pixi-filter.js +2 -0
  122. package/dist/Runtime/Extensions/Effects/noise-pixi-filter.js.map +7 -0
  123. package/dist/Runtime/Extensions/Effects/old-film-pixi-filter.js +2 -0
  124. package/dist/Runtime/Extensions/Effects/old-film-pixi-filter.js.map +7 -0
  125. package/dist/Runtime/Extensions/Effects/outline-pixi-filter.js +2 -0
  126. package/dist/Runtime/Extensions/Effects/outline-pixi-filter.js.map +7 -0
  127. package/dist/Runtime/Extensions/Effects/pixelate-pixi-filter.js +2 -0
  128. package/dist/Runtime/Extensions/Effects/pixelate-pixi-filter.js.map +7 -0
  129. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-adjustment.js +8 -0
  130. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-advanced-bloom.js +8 -0
  131. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-ascii.js +8 -0
  132. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-bevel.js +8 -0
  133. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-bulge-pinch.js +8 -0
  134. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-color-map.js +8 -0
  135. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-color-replace.js +8 -0
  136. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-crt.js +8 -0
  137. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-dot.js +8 -0
  138. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-drop-shadow.js +8 -0
  139. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-glitch.js +8 -0
  140. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-glow.js +8 -0
  141. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-godray.js +8 -0
  142. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-kawase-blur.js +8 -0
  143. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-old-film.js +8 -0
  144. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-outline.js +8 -0
  145. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-pixelate.js +8 -0
  146. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-radial-blur.js +8 -0
  147. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-reflection.js +8 -0
  148. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-rgb-split.js +8 -0
  149. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-tilt-shift.js +171 -0
  150. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-twist.js +8 -0
  151. package/dist/Runtime/Extensions/Effects/pixi-filters/filter-zoom-blur.js +8 -0
  152. package/dist/Runtime/Extensions/Effects/pixi-filters/types/adjustment/types.d.ts +29 -0
  153. package/dist/Runtime/Extensions/Effects/pixi-filters/types/advanced-bloom/types.d.ts +30 -0
  154. package/dist/Runtime/Extensions/Effects/pixi-filters/types/ascii/types.d.ts +11 -0
  155. package/dist/Runtime/Extensions/Effects/pixi-filters/types/bevel/types.d.ts +25 -0
  156. package/dist/Runtime/Extensions/Effects/pixi-filters/types/bloom/types.d.ts +18 -0
  157. package/dist/Runtime/Extensions/Effects/pixi-filters/types/bulge-pinch/types.d.ts +24 -0
  158. package/dist/Runtime/Extensions/Effects/pixi-filters/types/color-map/types.d.ts +22 -0
  159. package/dist/Runtime/Extensions/Effects/pixi-filters/types/color-overlay/types.d.ts +11 -0
  160. package/dist/Runtime/Extensions/Effects/pixi-filters/types/color-replace/types.d.ts +17 -0
  161. package/dist/Runtime/Extensions/Effects/pixi-filters/types/convolution/types.d.ts +13 -0
  162. package/dist/Runtime/Extensions/Effects/pixi-filters/types/cross-hatch/types.d.ts +10 -0
  163. package/dist/Runtime/Extensions/Effects/pixi-filters/types/crt/types.d.ts +35 -0
  164. package/dist/Runtime/Extensions/Effects/pixi-filters/types/dot/types.d.ts +12 -0
  165. package/dist/Runtime/Extensions/Effects/pixi-filters/types/drop-shadow/types.d.ts +33 -0
  166. package/dist/Runtime/Extensions/Effects/pixi-filters/types/emboss/types.d.ts +11 -0
  167. package/dist/Runtime/Extensions/Effects/pixi-filters/types/glitch/types.d.ts +38 -0
  168. package/dist/Runtime/Extensions/Effects/pixi-filters/types/glow/types.d.ts +23 -0
  169. package/dist/Runtime/Extensions/Effects/pixi-filters/types/godray/types.d.ts +27 -0
  170. package/dist/Runtime/Extensions/Effects/pixi-filters/types/kawase-blur/types.d.ts +15 -0
  171. package/dist/Runtime/Extensions/Effects/pixi-filters/types/motion-blur/types.d.ts +17 -0
  172. package/dist/Runtime/Extensions/Effects/pixi-filters/types/multi-color-replace/types.d.ts +18 -0
  173. package/dist/Runtime/Extensions/Effects/pixi-filters/types/old-film/types.d.ts +33 -0
  174. package/dist/Runtime/Extensions/Effects/pixi-filters/types/outline/types.d.ts +13 -0
  175. package/dist/Runtime/Extensions/Effects/pixi-filters/types/pixelate/types.d.ts +11 -0
  176. package/dist/Runtime/Extensions/Effects/pixi-filters/types/radial-blur/types.d.ts +19 -0
  177. package/dist/Runtime/Extensions/Effects/pixi-filters/types/reflection/types.d.ts +25 -0
  178. package/dist/Runtime/Extensions/Effects/pixi-filters/types/rgb-split/types.d.ts +13 -0
  179. package/dist/Runtime/Extensions/Effects/pixi-filters/types/shockwave/types.d.ts +25 -0
  180. package/dist/Runtime/Extensions/Effects/pixi-filters/types/simple-lightmap/types.d.ts +13 -0
  181. package/dist/Runtime/Extensions/Effects/pixi-filters/types/tilt-shift/types.d.ts +19 -0
  182. package/dist/Runtime/Extensions/Effects/pixi-filters/types/twist/types.d.ts +13 -0
  183. package/dist/Runtime/Extensions/Effects/pixi-filters/types/zoom-blur/types.d.ts +28 -0
  184. package/dist/Runtime/Extensions/Effects/radial-blur-pixi-filter.js +2 -0
  185. package/dist/Runtime/Extensions/Effects/radial-blur-pixi-filter.js.map +7 -0
  186. package/dist/Runtime/Extensions/Effects/reflection-pixi-filter.js +2 -0
  187. package/dist/Runtime/Extensions/Effects/reflection-pixi-filter.js.map +7 -0
  188. package/dist/Runtime/Extensions/Effects/rgb-split-pixi-filter.js +2 -0
  189. package/dist/Runtime/Extensions/Effects/rgb-split-pixi-filter.js.map +7 -0
  190. package/dist/Runtime/Extensions/Effects/sepia-pixi-filter.js +2 -0
  191. package/dist/Runtime/Extensions/Effects/sepia-pixi-filter.js.map +7 -0
  192. package/dist/Runtime/Extensions/Effects/tilt-shift-pixi-filter.js +2 -0
  193. package/dist/Runtime/Extensions/Effects/tilt-shift-pixi-filter.js.map +7 -0
  194. package/dist/Runtime/Extensions/Effects/twist-pixi-filter.js +2 -0
  195. package/dist/Runtime/Extensions/Effects/twist-pixi-filter.js.map +7 -0
  196. package/dist/Runtime/Extensions/Effects/zoom-blur-pixi-filter.js +2 -0
  197. package/dist/Runtime/Extensions/Effects/zoom-blur-pixi-filter.js.map +7 -0
  198. package/dist/Runtime/Extensions/ExampleJsExtension/JsExtension.js +589 -0
  199. package/dist/Runtime/Extensions/ExampleJsExtension/dummyeffect.js +3 -0
  200. package/dist/Runtime/Extensions/ExampleJsExtension/dummyeffect.js.map +7 -0
  201. package/dist/Runtime/Extensions/ExampleJsExtension/dummyruntimebehavior.js +2 -0
  202. package/dist/Runtime/Extensions/ExampleJsExtension/dummyruntimebehavior.js.map +7 -0
  203. package/dist/Runtime/Extensions/ExampleJsExtension/dummyruntimeobject-pixi-renderer.js +2 -0
  204. package/dist/Runtime/Extensions/ExampleJsExtension/dummyruntimeobject-pixi-renderer.js.map +7 -0
  205. package/dist/Runtime/Extensions/ExampleJsExtension/dummyruntimeobject.js +2 -0
  206. package/dist/Runtime/Extensions/ExampleJsExtension/dummyruntimeobject.js.map +7 -0
  207. package/dist/Runtime/Extensions/ExampleJsExtension/dummywithshareddataruntimebehavior.js +2 -0
  208. package/dist/Runtime/Extensions/ExampleJsExtension/dummywithshareddataruntimebehavior.js.map +7 -0
  209. package/dist/Runtime/Extensions/ExampleJsExtension/examplejsextensiontools.js +2 -0
  210. package/dist/Runtime/Extensions/ExampleJsExtension/examplejsextensiontools.js.map +7 -0
  211. package/dist/Runtime/Extensions/FacebookInstantGames/FBInstant.d.ts +2 -0
  212. package/dist/Runtime/Extensions/FacebookInstantGames/JsExtension.js +379 -0
  213. package/dist/Runtime/Extensions/FacebookInstantGames/facebookinstantgamestools.js +2 -0
  214. package/dist/Runtime/Extensions/FacebookInstantGames/facebookinstantgamestools.js.map +7 -0
  215. package/dist/Runtime/Extensions/FileSystem/JsExtension.js +559 -0
  216. package/dist/Runtime/Extensions/FileSystem/filesystemtools.js +2 -0
  217. package/dist/Runtime/Extensions/FileSystem/filesystemtools.js.map +7 -0
  218. package/dist/Runtime/Extensions/Firebase/A_firebasejs/A_firebase-base.js +2 -0
  219. package/dist/Runtime/Extensions/Firebase/A_firebasejs/A_firebase-base.js.map +1 -0
  220. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-analytics.js +2 -0
  221. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-analytics.js.map +1 -0
  222. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-auth.js +2 -0
  223. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-auth.js.map +1 -0
  224. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-database.js +2 -0
  225. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-database.js.map +1 -0
  226. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-firestore.js +2 -0
  227. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-firestore.js.map +1 -0
  228. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-functions.js +2 -0
  229. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-functions.js.map +1 -0
  230. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-messaging.js +2 -0
  231. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-messaging.js.map +1 -0
  232. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-performance.js +2 -0
  233. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-performance.js.map +1 -0
  234. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-remote-config.js +2 -0
  235. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-remote-config.js.map +1 -0
  236. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-storage.js +2 -0
  237. package/dist/Runtime/Extensions/Firebase/A_firebasejs/B_firebase-storage.js.map +1 -0
  238. package/dist/Runtime/Extensions/Firebase/A_firebasejs/firebase.d.ts +10191 -0
  239. package/dist/Runtime/Extensions/Firebase/B_firebasetools/C_firebasetools.js +2 -0
  240. package/dist/Runtime/Extensions/Firebase/B_firebasetools/C_firebasetools.js.map +7 -0
  241. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_analyticstools.js +2 -0
  242. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_analyticstools.js.map +7 -0
  243. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_authtools.js +2 -0
  244. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_authtools.js.map +7 -0
  245. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_cloudfirestoretools.js +2 -0
  246. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_cloudfirestoretools.js.map +7 -0
  247. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_databasetools.js +2 -0
  248. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_databasetools.js.map +7 -0
  249. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_functionstools.js +2 -0
  250. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_functionstools.js.map +7 -0
  251. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_performancetools.js +2 -0
  252. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_performancetools.js.map +7 -0
  253. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_remoteconfigtools.js +2 -0
  254. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_remoteconfigtools.js.map +7 -0
  255. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_storagetools.js +2 -0
  256. package/dist/Runtime/Extensions/Firebase/B_firebasetools/D_storagetools.js.map +7 -0
  257. package/dist/Runtime/Extensions/Firebase/JsExtension.js +2323 -0
  258. package/dist/Runtime/Extensions/Inventory/inventory.js +2 -0
  259. package/dist/Runtime/Extensions/Inventory/inventory.js.map +7 -0
  260. package/dist/Runtime/Extensions/Inventory/inventorytools.js +2 -0
  261. package/dist/Runtime/Extensions/Inventory/inventorytools.js.map +7 -0
  262. package/dist/Runtime/Extensions/JsExtensionTypes.flow.js +34 -0
  263. package/dist/Runtime/Extensions/Leaderboards/JsExtension.js +299 -0
  264. package/dist/Runtime/Extensions/Leaderboards/leaderboardstools.js +2 -0
  265. package/dist/Runtime/Extensions/Leaderboards/leaderboardstools.js.map +7 -0
  266. package/dist/Runtime/Extensions/Leaderboards/sha256.d.ts +234 -0
  267. package/dist/Runtime/Extensions/Leaderboards/sha256.js +21 -0
  268. package/dist/Runtime/Extensions/Lighting/JsExtension.js +371 -0
  269. package/dist/Runtime/Extensions/Lighting/lightobstacleruntimebehavior.js +2 -0
  270. package/dist/Runtime/Extensions/Lighting/lightobstacleruntimebehavior.js.map +7 -0
  271. package/dist/Runtime/Extensions/Lighting/lightruntimeobject-pixi-renderer.js +40 -0
  272. package/dist/Runtime/Extensions/Lighting/lightruntimeobject-pixi-renderer.js.map +7 -0
  273. package/dist/Runtime/Extensions/Lighting/lightruntimeobject.js +2 -0
  274. package/dist/Runtime/Extensions/Lighting/lightruntimeobject.js.map +7 -0
  275. package/dist/Runtime/Extensions/LinkedObjects/linkedobjects.js +2 -0
  276. package/dist/Runtime/Extensions/LinkedObjects/linkedobjects.js.map +7 -0
  277. package/dist/Runtime/Extensions/P2P/A_peer.js +4 -0
  278. package/dist/Runtime/Extensions/P2P/A_peer.js.map +1 -0
  279. package/dist/Runtime/Extensions/P2P/B_p2ptools.js +2 -0
  280. package/dist/Runtime/Extensions/P2P/B_p2ptools.js.map +7 -0
  281. package/dist/Runtime/Extensions/P2P/JsExtension.js +483 -0
  282. package/dist/Runtime/Extensions/P2P/peerjs.d.ts +509 -0
  283. package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js +2 -0
  284. package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js.map +7 -0
  285. package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject.js +2 -0
  286. package/dist/Runtime/Extensions/PanelSpriteObject/panelspriteruntimeobject.js.map +7 -0
  287. package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js +2 -0
  288. package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js.map +7 -0
  289. package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject.js +2 -0
  290. package/dist/Runtime/Extensions/ParticleSystem/particleemitterobject.js.map +7 -0
  291. package/dist/Runtime/Extensions/ParticleSystem/pixi-particles-pixi-renderer.min.js +3 -0
  292. package/dist/Runtime/Extensions/PathfindingBehavior/PathTools.js +2 -0
  293. package/dist/Runtime/Extensions/PathfindingBehavior/PathTools.js.map +7 -0
  294. package/dist/Runtime/Extensions/PathfindingBehavior/pathfindingobstacleruntimebehavior.js +2 -0
  295. package/dist/Runtime/Extensions/PathfindingBehavior/pathfindingobstacleruntimebehavior.js.map +7 -0
  296. package/dist/Runtime/Extensions/PathfindingBehavior/pathfindingruntimebehavior.js +2 -0
  297. package/dist/Runtime/Extensions/PathfindingBehavior/pathfindingruntimebehavior.js.map +7 -0
  298. package/dist/Runtime/Extensions/Physics2Behavior/Box2D_v2.3.1_min.wasm.js +2 -0
  299. package/dist/Runtime/Extensions/Physics2Behavior/Box2D_v2.3.1_min.wasm.js.map +7 -0
  300. package/dist/Runtime/Extensions/Physics2Behavior/Box2D_v2.3.1_min.wasm.wasm +0 -0
  301. package/dist/Runtime/Extensions/Physics2Behavior/JsExtension.js +4072 -0
  302. package/dist/Runtime/Extensions/Physics2Behavior/box2d.d.ts +1804 -0
  303. package/dist/Runtime/Extensions/Physics2Behavior/physics2runtimebehavior.js +2 -0
  304. package/dist/Runtime/Extensions/Physics2Behavior/physics2runtimebehavior.js.map +7 -0
  305. package/dist/Runtime/Extensions/Physics2Behavior/physics2tools.js +2 -0
  306. package/dist/Runtime/Extensions/Physics2Behavior/physics2tools.js.map +7 -0
  307. package/dist/Runtime/Extensions/PhysicsBehavior/box2djs/box2d.js +804 -0
  308. package/dist/Runtime/Extensions/PhysicsBehavior/physicsruntimebehavior.js +2 -0
  309. package/dist/Runtime/Extensions/PhysicsBehavior/physicsruntimebehavior.js.map +7 -0
  310. package/dist/Runtime/Extensions/PlatformBehavior/benchmarks/platformerobjectruntimebehavior.benchmark.js +2 -0
  311. package/dist/Runtime/Extensions/PlatformBehavior/benchmarks/platformerobjectruntimebehavior.benchmark.js.map +7 -0
  312. package/dist/Runtime/Extensions/PlatformBehavior/platformerobjectruntimebehavior.js +2 -0
  313. package/dist/Runtime/Extensions/PlatformBehavior/platformerobjectruntimebehavior.js.map +7 -0
  314. package/dist/Runtime/Extensions/PlatformBehavior/platformruntimebehavior.js +2 -0
  315. package/dist/Runtime/Extensions/PlatformBehavior/platformruntimebehavior.js.map +7 -0
  316. package/dist/Runtime/Extensions/PlatformBehavior/platformtools.js +2 -0
  317. package/dist/Runtime/Extensions/PlatformBehavior/platformtools.js.map +7 -0
  318. package/dist/Runtime/Extensions/PlayerAuthentication/JsExtension.js +218 -0
  319. package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationcomponents.js +5 -0
  320. package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationcomponents.js.map +7 -0
  321. package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationtools.js +2 -0
  322. package/dist/Runtime/Extensions/PlayerAuthentication/playerauthenticationtools.js.map +7 -0
  323. package/dist/Runtime/Extensions/PrimitiveDrawing/pixi-graphics-extras/graphics-extras.min.js +10 -0
  324. package/dist/Runtime/Extensions/PrimitiveDrawing/pixi-graphics-extras/graphics-extras.min.js.map +1 -0
  325. package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js +2 -0
  326. package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js.map +7 -0
  327. package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js +2 -0
  328. package/dist/Runtime/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js.map +7 -0
  329. package/dist/Runtime/Extensions/Screenshot/JsExtension.js +68 -0
  330. package/dist/Runtime/Extensions/Screenshot/screenshottools.js +2 -0
  331. package/dist/Runtime/Extensions/Screenshot/screenshottools.js.map +7 -0
  332. package/dist/Runtime/Extensions/Shopify/shopify-buy.umd.polyfilled.min.js +2 -0
  333. package/dist/Runtime/Extensions/Shopify/shopifytools.js +2 -0
  334. package/dist/Runtime/Extensions/Shopify/shopifytools.js.map +7 -0
  335. package/dist/Runtime/Extensions/SpatialSound/JsExtension.js +92 -0
  336. package/dist/Runtime/Extensions/SpatialSound/howler.spatial.min.js +2 -0
  337. package/dist/Runtime/Extensions/SpatialSound/spatialsoundtools.js +2 -0
  338. package/dist/Runtime/Extensions/SpatialSound/spatialsoundtools.js.map +7 -0
  339. package/dist/Runtime/Extensions/SystemInfo/systeminfotools.js +2 -0
  340. package/dist/Runtime/Extensions/SystemInfo/systeminfotools.js.map +7 -0
  341. package/dist/Runtime/Extensions/TextEntryObject/textentryruntimeobject-pixi-renderer.js +2 -0
  342. package/dist/Runtime/Extensions/TextEntryObject/textentryruntimeobject-pixi-renderer.js.map +7 -0
  343. package/dist/Runtime/Extensions/TextEntryObject/textentryruntimeobject.js +2 -0
  344. package/dist/Runtime/Extensions/TextEntryObject/textentryruntimeobject.js.map +7 -0
  345. package/dist/Runtime/Extensions/TextInput/JsExtension.js +790 -0
  346. package/dist/Runtime/Extensions/TextInput/textinputruntimeobject-pixi-renderer.js +2 -0
  347. package/dist/Runtime/Extensions/TextInput/textinputruntimeobject-pixi-renderer.js.map +7 -0
  348. package/dist/Runtime/Extensions/TextInput/textinputruntimeobject.js +2 -0
  349. package/dist/Runtime/Extensions/TextInput/textinputruntimeobject.js.map +7 -0
  350. package/dist/Runtime/Extensions/TextObject/textruntimeobject-pixi-renderer.js +2 -0
  351. package/dist/Runtime/Extensions/TextObject/textruntimeobject-pixi-renderer.js.map +7 -0
  352. package/dist/Runtime/Extensions/TextObject/textruntimeobject.js +2 -0
  353. package/dist/Runtime/Extensions/TextObject/textruntimeobject.js.map +7 -0
  354. package/dist/Runtime/Extensions/TileMap/JsExtension.js +1653 -0
  355. package/dist/Runtime/Extensions/TileMap/TileMapRuntimeManager.js +2 -0
  356. package/dist/Runtime/Extensions/TileMap/TileMapRuntimeManager.js.map +7 -0
  357. package/dist/Runtime/Extensions/TileMap/collision/TileMapCollisionMaskRenderer.js +2 -0
  358. package/dist/Runtime/Extensions/TileMap/collision/TileMapCollisionMaskRenderer.js.map +7 -0
  359. package/dist/Runtime/Extensions/TileMap/collision/TransformedTileMap.js +2 -0
  360. package/dist/Runtime/Extensions/TileMap/collision/TransformedTileMap.js.map +7 -0
  361. package/dist/Runtime/Extensions/TileMap/example/anotherIsland.json +5769 -0
  362. package/dist/Runtime/Extensions/TileMap/example/island.json +5823 -0
  363. package/dist/Runtime/Extensions/TileMap/helper/TileMapHelper.d.ts +25 -0
  364. package/dist/Runtime/Extensions/TileMap/helper/TileMapHelper.js +2 -0
  365. package/dist/Runtime/Extensions/TileMap/helper/TileMapHelper.js.map +7 -0
  366. package/dist/Runtime/Extensions/TileMap/helper/dts/index.d.ts +16 -0
  367. package/dist/Runtime/Extensions/TileMap/helper/dts/index.d.ts.map +1 -0
  368. package/dist/Runtime/Extensions/TileMap/helper/dts/load/TileMapFileContent.d.ts +12 -0
  369. package/dist/Runtime/Extensions/TileMap/helper/dts/load/TileMapFileContent.d.ts.map +1 -0
  370. package/dist/Runtime/Extensions/TileMap/helper/dts/load/TileMapLoader.d.ts +18 -0
  371. package/dist/Runtime/Extensions/TileMap/helper/dts/load/TileMapLoader.d.ts.map +1 -0
  372. package/dist/Runtime/Extensions/TileMap/helper/dts/load/ldtk/LDtkFormat.d.ts +589 -0
  373. package/dist/Runtime/Extensions/TileMap/helper/dts/load/ldtk/LDtkFormat.d.ts.map +1 -0
  374. package/dist/Runtime/Extensions/TileMap/helper/dts/load/ldtk/LDtkTileMapLoader.d.ts +16 -0
  375. package/dist/Runtime/Extensions/TileMap/helper/dts/load/ldtk/LDtkTileMapLoader.d.ts.map +1 -0
  376. package/dist/Runtime/Extensions/TileMap/helper/dts/load/ldtk/LDtkTileMapLoaderHelper.d.ts +5 -0
  377. package/dist/Runtime/Extensions/TileMap/helper/dts/load/ldtk/LDtkTileMapLoaderHelper.d.ts.map +1 -0
  378. package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledFormat.d.ts +343 -0
  379. package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledFormat.d.ts.map +1 -0
  380. package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledTileMapLoader.d.ts +16 -0
  381. package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledTileMapLoader.d.ts.map +1 -0
  382. package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledTileMapLoader.spec.d.ts +2 -0
  383. package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledTileMapLoader.spec.d.ts.map +1 -0
  384. package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledTileMapLoaderHelper.d.ts +37 -0
  385. package/dist/Runtime/Extensions/TileMap/helper/dts/load/tiled/TiledTileMapLoaderHelper.d.ts.map +1 -0
  386. package/dist/Runtime/Extensions/TileMap/helper/dts/model/CommonTypes.d.ts +5 -0
  387. package/dist/Runtime/Extensions/TileMap/helper/dts/model/CommonTypes.d.ts.map +1 -0
  388. package/dist/Runtime/Extensions/TileMap/helper/dts/model/GID.d.ts +45 -0
  389. package/dist/Runtime/Extensions/TileMap/helper/dts/model/GID.d.ts.map +1 -0
  390. package/dist/Runtime/Extensions/TileMap/helper/dts/model/TileMapModel.d.ts +361 -0
  391. package/dist/Runtime/Extensions/TileMap/helper/dts/model/TileMapModel.d.ts.map +1 -0
  392. package/dist/Runtime/Extensions/TileMap/helper/dts/render/ResourceCache.d.ts +27 -0
  393. package/dist/Runtime/Extensions/TileMap/helper/dts/render/ResourceCache.d.ts.map +1 -0
  394. package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileMapManager.d.ts +70 -0
  395. package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileMapManager.d.ts.map +1 -0
  396. package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileMapPixiHelper.d.ts +56 -0
  397. package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileMapPixiHelper.d.ts.map +1 -0
  398. package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileTextureCache.d.ts +24 -0
  399. package/dist/Runtime/Extensions/TileMap/helper/dts/render/TileTextureCache.d.ts.map +1 -0
  400. package/dist/Runtime/Extensions/TileMap/helper/dts/render/ldtk/LDtkPixiHelper.d.ts +26 -0
  401. package/dist/Runtime/Extensions/TileMap/helper/dts/render/ldtk/LDtkPixiHelper.d.ts.map +1 -0
  402. package/dist/Runtime/Extensions/TileMap/helper/dts/render/tiled/TiledPixiHelper.d.ts +21 -0
  403. package/dist/Runtime/Extensions/TileMap/helper/dts/render/tiled/TiledPixiHelper.d.ts.map +1 -0
  404. package/dist/Runtime/Extensions/TileMap/helper/dts/types/index.d.ts +12 -0
  405. package/dist/Runtime/Extensions/TileMap/helper/dts/types/index.d.ts.map +1 -0
  406. package/dist/Runtime/Extensions/TileMap/pako/dist/pako.d.ts +166 -0
  407. package/dist/Runtime/Extensions/TileMap/pako/dist/pako.min.js +2 -0
  408. package/dist/Runtime/Extensions/TileMap/pixi-tilemap/dist/global-pixi-tilemap.d.ts +23 -0
  409. package/dist/Runtime/Extensions/TileMap/pixi-tilemap/dist/pixi-tilemap.d.ts +270 -0
  410. package/dist/Runtime/Extensions/TileMap/pixi-tilemap/dist/pixi-tilemap.umd.js +74 -0
  411. package/dist/Runtime/Extensions/TileMap/pixi-tilemap/dist/pixi-tilemap.umd.js.map +7 -0
  412. package/dist/Runtime/Extensions/TileMap/tilemapcollisionmaskruntimeobject.js +2 -0
  413. package/dist/Runtime/Extensions/TileMap/tilemapcollisionmaskruntimeobject.js.map +7 -0
  414. package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject-pixi-renderer.js +2 -0
  415. package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject-pixi-renderer.js.map +7 -0
  416. package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject.js +2 -0
  417. package/dist/Runtime/Extensions/TileMap/tilemapruntimeobject.js.map +7 -0
  418. package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js +2 -0
  419. package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js.map +7 -0
  420. package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject.js +2 -0
  421. package/dist/Runtime/Extensions/TiledSpriteObject/tiledspriteruntimeobject.js.map +7 -0
  422. package/dist/Runtime/Extensions/TopDownMovementBehavior/topdownmovementruntimebehavior.js +2 -0
  423. package/dist/Runtime/Extensions/TopDownMovementBehavior/topdownmovementruntimebehavior.js.map +7 -0
  424. package/dist/Runtime/Extensions/TweenBehavior/JsExtension.js +1087 -0
  425. package/dist/Runtime/Extensions/TweenBehavior/shifty.d.ts +839 -0
  426. package/dist/Runtime/Extensions/TweenBehavior/shifty.js +5 -0
  427. package/dist/Runtime/Extensions/TweenBehavior/shifty.js.map +1 -0
  428. package/dist/Runtime/Extensions/TweenBehavior/shifty_setup.js +2 -0
  429. package/dist/Runtime/Extensions/TweenBehavior/shifty_setup.js.map +7 -0
  430. package/dist/Runtime/Extensions/TweenBehavior/tweenruntimebehavior.js +2 -0
  431. package/dist/Runtime/Extensions/TweenBehavior/tweenruntimebehavior.js.map +7 -0
  432. package/dist/Runtime/Extensions/TweenBehavior/tweentools.js +2 -0
  433. package/dist/Runtime/Extensions/TweenBehavior/tweentools.js.map +7 -0
  434. package/dist/Runtime/Extensions/Video/JsExtension.js +694 -0
  435. package/dist/Runtime/Extensions/Video/videoruntimeobject-pixi-renderer.js +2 -0
  436. package/dist/Runtime/Extensions/Video/videoruntimeobject-pixi-renderer.js.map +7 -0
  437. package/dist/Runtime/Extensions/Video/videoruntimeobject.js +2 -0
  438. package/dist/Runtime/Extensions/Video/videoruntimeobject.js.map +7 -0
  439. package/dist/Runtime/FacebookInstantGames/fbapp-config.json +17 -0
  440. package/dist/Runtime/FacebookInstantGames/index.html +68 -0
  441. package/dist/Runtime/Model3DManager.js +2 -0
  442. package/dist/Runtime/Model3DManager.js.map +7 -0
  443. package/dist/Runtime/RuntimeCustomObjectLayer.js +2 -0
  444. package/dist/Runtime/RuntimeCustomObjectLayer.js.map +7 -0
  445. package/dist/Runtime/RuntimeInstanceContainer.js +2 -0
  446. package/dist/Runtime/RuntimeInstanceContainer.js.map +7 -0
  447. package/dist/Runtime/RuntimeLayer.js +2 -0
  448. package/dist/Runtime/RuntimeLayer.js.map +7 -0
  449. package/dist/Runtime/affinetransformation.js +2 -0
  450. package/dist/Runtime/affinetransformation.js.map +7 -0
  451. package/dist/Runtime/debugger-client/abstract-debugger-client.js +2 -0
  452. package/dist/Runtime/debugger-client/abstract-debugger-client.js.map +7 -0
  453. package/dist/Runtime/debugger-client/hot-reloader.js +2 -0
  454. package/dist/Runtime/debugger-client/hot-reloader.js.map +7 -0
  455. package/dist/Runtime/debugger-client/websocket-debugger-client.js +2 -0
  456. package/dist/Runtime/debugger-client/websocket-debugger-client.js.map +7 -0
  457. package/dist/Runtime/debugger-client/window-message-debugger-client.js +2 -0
  458. package/dist/Runtime/debugger-client/window-message-debugger-client.js.map +7 -0
  459. package/dist/Runtime/events-tools/cameratools.js +2 -0
  460. package/dist/Runtime/events-tools/cameratools.js.map +7 -0
  461. package/dist/Runtime/events-tools/commontools.js +2 -0
  462. package/dist/Runtime/events-tools/commontools.js.map +7 -0
  463. package/dist/Runtime/events-tools/inputtools.js +2 -0
  464. package/dist/Runtime/events-tools/inputtools.js.map +7 -0
  465. package/dist/Runtime/events-tools/networktools.js +2 -0
  466. package/dist/Runtime/events-tools/networktools.js.map +7 -0
  467. package/dist/Runtime/events-tools/objecttools.js +2 -0
  468. package/dist/Runtime/events-tools/objecttools.js.map +7 -0
  469. package/dist/Runtime/events-tools/runtimescenetools.js +2 -0
  470. package/dist/Runtime/events-tools/runtimescenetools.js.map +7 -0
  471. package/dist/Runtime/events-tools/soundtools.js +2 -0
  472. package/dist/Runtime/events-tools/soundtools.js.map +7 -0
  473. package/dist/Runtime/events-tools/storagetools.js +2 -0
  474. package/dist/Runtime/events-tools/storagetools.js.map +7 -0
  475. package/dist/Runtime/events-tools/stringtools.js +3 -0
  476. package/dist/Runtime/events-tools/stringtools.js.map +7 -0
  477. package/dist/Runtime/events-tools/variabletools.js +2 -0
  478. package/dist/Runtime/events-tools/variabletools.js.map +7 -0
  479. package/dist/Runtime/events-tools/windowtools.js +2 -0
  480. package/dist/Runtime/events-tools/windowtools.js.map +7 -0
  481. package/dist/Runtime/fontfaceobserver-font-manager/fontfaceobserver-font-manager.js +2 -0
  482. package/dist/Runtime/fontfaceobserver-font-manager/fontfaceobserver-font-manager.js.map +7 -0
  483. package/dist/Runtime/fontfaceobserver-font-manager/fontfaceobserver.js +16 -0
  484. package/dist/Runtime/force.js +2 -0
  485. package/dist/Runtime/force.js.map +7 -0
  486. package/dist/Runtime/gd.js +2 -0
  487. package/dist/Runtime/gd.js.map +7 -0
  488. package/dist/Runtime/howler-sound-manager/howler-sound-manager.js +2 -0
  489. package/dist/Runtime/howler-sound-manager/howler-sound-manager.js.map +7 -0
  490. package/dist/Runtime/howler-sound-manager/howler.min.js +3 -0
  491. package/dist/Runtime/index.html +55 -0
  492. package/dist/Runtime/inputmanager.js +2 -0
  493. package/dist/Runtime/inputmanager.js.map +7 -0
  494. package/dist/Runtime/jsonmanager.js +2 -0
  495. package/dist/Runtime/jsonmanager.js.map +7 -0
  496. package/dist/Runtime/layer.js +2 -0
  497. package/dist/Runtime/layer.js.map +7 -0
  498. package/dist/Runtime/libs/CocoonJS/cocoon.min.js +4 -0
  499. package/dist/Runtime/libs/jshashtable.js +2 -0
  500. package/dist/Runtime/libs/jshashtable.js.map +7 -0
  501. package/dist/Runtime/libs/rbush.js +624 -0
  502. package/dist/Runtime/logger.js +2 -0
  503. package/dist/Runtime/logger.js.map +7 -0
  504. package/dist/Runtime/oncetriggers.js +2 -0
  505. package/dist/Runtime/oncetriggers.js.map +7 -0
  506. package/dist/Runtime/pixi-renderers/CustomObjectPixiRenderer.js +2 -0
  507. package/dist/Runtime/pixi-renderers/CustomObjectPixiRenderer.js.map +7 -0
  508. package/dist/Runtime/pixi-renderers/DebuggerPixiRenderer.js +2 -0
  509. package/dist/Runtime/pixi-renderers/DebuggerPixiRenderer.js.map +7 -0
  510. package/dist/Runtime/pixi-renderers/RuntimeInstanceContainerPixiRenderer.js +1 -0
  511. package/dist/Runtime/pixi-renderers/RuntimeInstanceContainerPixiRenderer.js.map +7 -0
  512. package/dist/Runtime/pixi-renderers/ThreeAddons.js +2 -0
  513. package/dist/Runtime/pixi-renderers/draco/gltf/draco_decoder.wasm +0 -0
  514. package/dist/Runtime/pixi-renderers/draco/gltf/draco_wasm_wrapper.js +116 -0
  515. package/dist/Runtime/pixi-renderers/layer-pixi-renderer.js +15 -0
  516. package/dist/Runtime/pixi-renderers/layer-pixi-renderer.js.map +7 -0
  517. package/dist/Runtime/pixi-renderers/loadingscreen-pixi-renderer.js +2 -0
  518. package/dist/Runtime/pixi-renderers/loadingscreen-pixi-renderer.js.map +7 -0
  519. package/dist/Runtime/pixi-renderers/pixi-bitmapfont-manager.js +2 -0
  520. package/dist/Runtime/pixi-renderers/pixi-bitmapfont-manager.js.map +7 -0
  521. package/dist/Runtime/pixi-renderers/pixi-effects-manager.js +2 -0
  522. package/dist/Runtime/pixi-renderers/pixi-effects-manager.js.map +7 -0
  523. package/dist/Runtime/pixi-renderers/pixi-filters-tools.js +2 -0
  524. package/dist/Runtime/pixi-renderers/pixi-filters-tools.js.map +7 -0
  525. package/dist/Runtime/pixi-renderers/pixi-image-manager.js +2 -0
  526. package/dist/Runtime/pixi-renderers/pixi-image-manager.js.map +7 -0
  527. package/dist/Runtime/pixi-renderers/pixi.js +11 -0
  528. package/dist/Runtime/pixi-renderers/runtimegame-pixi-renderer.js +2 -0
  529. package/dist/Runtime/pixi-renderers/runtimegame-pixi-renderer.js.map +7 -0
  530. package/dist/Runtime/pixi-renderers/runtimescene-pixi-renderer.js +3 -0
  531. package/dist/Runtime/pixi-renderers/runtimescene-pixi-renderer.js.map +7 -0
  532. package/dist/Runtime/pixi-renderers/spriteruntimeobject-pixi-renderer.js +2 -0
  533. package/dist/Runtime/pixi-renderers/spriteruntimeobject-pixi-renderer.js.map +7 -0
  534. package/dist/Runtime/pixi-renderers/three.js +7 -0
  535. package/dist/Runtime/polygon.js +2 -0
  536. package/dist/Runtime/polygon.js.map +7 -0
  537. package/dist/Runtime/profiler.js +2 -0
  538. package/dist/Runtime/profiler.js.map +7 -0
  539. package/dist/Runtime/runtimebehavior.js +2 -0
  540. package/dist/Runtime/runtimebehavior.js.map +7 -0
  541. package/dist/Runtime/runtimegame.js +2 -0
  542. package/dist/Runtime/runtimegame.js.map +7 -0
  543. package/dist/Runtime/runtimeobject.js +2 -0
  544. package/dist/Runtime/runtimeobject.js.map +7 -0
  545. package/dist/Runtime/runtimescene.js +2 -0
  546. package/dist/Runtime/runtimescene.js.map +7 -0
  547. package/dist/Runtime/runtimewatermark.js +100 -0
  548. package/dist/Runtime/runtimewatermark.js.map +7 -0
  549. package/dist/Runtime/scenestack.js +2 -0
  550. package/dist/Runtime/scenestack.js.map +7 -0
  551. package/dist/Runtime/splash/gd-logo-dark-colored.js +2 -0
  552. package/dist/Runtime/splash/gd-logo-dark-colored.js.map +7 -0
  553. package/dist/Runtime/splash/gd-logo-dark.js +2 -0
  554. package/dist/Runtime/splash/gd-logo-dark.js.map +7 -0
  555. package/dist/Runtime/splash/gd-logo-light-colored.js +2 -0
  556. package/dist/Runtime/splash/gd-logo-light-colored.js.map +7 -0
  557. package/dist/Runtime/splash/gd-logo-light.js +2 -0
  558. package/dist/Runtime/splash/gd-logo-light.js.map +7 -0
  559. package/dist/Runtime/spriteruntimeobject.js +2 -0
  560. package/dist/Runtime/spriteruntimeobject.js.map +7 -0
  561. package/dist/Runtime/timemanager.js +2 -0
  562. package/dist/Runtime/timemanager.js.map +7 -0
  563. package/dist/Runtime/timer.js +2 -0
  564. package/dist/Runtime/timer.js.map +7 -0
  565. package/dist/Runtime/types/global-pixi.d.ts +22 -0
  566. package/dist/Runtime/types/global-three-addons.d.ts +9 -0
  567. package/dist/Runtime/types/global-three.d.ts +3 -0
  568. package/dist/Runtime/types/global-types.d.ts +61 -0
  569. package/dist/Runtime/types/howler.d.ts +313 -0
  570. package/dist/Runtime/types/project-data.d.ts +276 -0
  571. package/dist/Runtime/variable.js +2 -0
  572. package/dist/Runtime/variable.js.map +7 -0
  573. package/dist/Runtime/variablescontainer.js +2 -0
  574. package/dist/Runtime/variablescontainer.js.map +7 -0
  575. package/dist/lib/libGD.cjs +22 -0
  576. package/dist/lib/libGD.wasm +0 -0
  577. package/dist/loaders.js +1 -0
  578. package/package.json +24 -10
  579. package/src/downloadGD.js +0 -70
  580. package/src/index.js +21 -14
  581. package/examples/create-objects-from-json/assets/Blank button.png +0 -0
  582. package/examples/create-objects-from-json/game.json +0 -258
  583. package/examples/create-objects-from-json/index.js +0 -50
  584. package/examples/create-objects-from-json/mylist.json +0 -7
  585. package/examples/export-game/game.json +0 -205
  586. package/examples/export-game/index.js +0 -13
  587. package/src/CaseSensitiveSlug.js +0 -34
  588. package/src/EventsFunctionsExtensionsLoader/LocalEventsFunctionCodeWriter.js +0 -56
  589. package/src/EventsFunctionsExtensionsLoader/MetadataDeclarationHelpers.js +0 -489
  590. package/src/EventsFunctionsExtensionsLoader/index.js +0 -451
  591. package/src/JsExtensionsLoader/LocalJsExtensionsFinder.js +0 -42
  592. package/src/JsExtensionsLoader/LocalJsExtensionsLoader.js +0 -57
  593. package/src/JsExtensionsLoader/index.js +0 -101
  594. package/src/LocalFileSystem.js +0 -158
  595. package/src/LocalProjectOpener.js +0 -46
  596. package/src/LocalProjectWriter.js +0 -96
  597. package/src/MapFor.js +0 -46
  598. package/src/ObjectSplitter.js +0 -187
  599. package/src/Serializer.js +0 -35
  600. package/src/build.js +0 -51
  601. package/src/runtime-files-list.js +0 -143
@@ -0,0 +1,2 @@
1
+ var gdjs;(l=>{const m=new l.Logger("PIXI game renderer"),c=GlobalPIXIModule.PIXI,f=[37,38,39,40];class v{_game;_isFullPage=!0;_isFullscreen=!1;_forceFullscreen;_pixiRenderer=null;_threeRenderer=null;_gameCanvas=null;_domElementsContainer=null;_canvasWidth=0;_canvasHeight=0;_keepRatio=!0;_marginLeft;_marginTop;_marginRight;_marginBottom;_nextFrameId=0;constructor(n,e){this._game=n,this._forceFullscreen=e,this._marginLeft=this._marginTop=this._marginRight=this._marginBottom=0,this._setupOrientation()}createStandardCanvas(n){let e;typeof THREE<"u"?(e=document.createElement("canvas"),this._threeRenderer=new THREE.WebGLRenderer({canvas:e,antialias:this._game.getAntialiasingMode()!=="none"&&(this._game.isAntialisingEnabledOnMobile()||!l.evtTools.common.isMobile())}),this._threeRenderer.autoClear=!1,this._threeRenderer.setSize(this._game.getGameResolutionWidth(),this._game.getGameResolutionHeight()),this._pixiRenderer=new c.Renderer({width:this._game.getGameResolutionWidth(),height:this._game.getGameResolutionHeight(),view:e,context:this._threeRenderer.getContext(),clearBeforeRender:!1,preserveDrawingBuffer:!0,antialias:!1,backgroundAlpha:0}),e=this._threeRenderer.domElement):(this._pixiRenderer=c.autoDetectRenderer({width:this._game.getGameResolutionWidth(),height:this._game.getGameResolutionHeight(),preserveDrawingBuffer:!0,antialias:!1}),e=this._pixiRenderer.view),n.appendChild(e),this._gameCanvas=e,e.style.position="absolute",e.tabIndex=1,e.style.userSelect="none",e.style.outline="none";const i=document.createElement("div");i.style.position="absolute",i.style.overflow="hidden",i.style.outline="none",i.style.pointerEvents="none",i.addEventListener("scroll",o=>{i.scrollLeft=0,i.scrollTop=0,o.preventDefault()}),e.addEventListener("pointerdown",()=>{e.focus()}),i.style["-webkit-user-select"]="none",n.appendChild(i),this._domElementsContainer=i,this._resizeCanvas(),this._game.getScaleMode()==="nearest"&&(e.style["image-rendering"]="-moz-crisp-edges",e.style["image-rendering"]="-webkit-optimize-contrast",e.style["image-rendering"]="-webkit-crisp-edges",e.style["image-rendering"]="pixelated"),this._game.getPixelsRounding()&&(c.settings.ROUND_PIXELS=!0),window.addEventListener("resize",()=>{this._game.onWindowInnerSizeChanged(),this._resizeCanvas()}),e.focus()}static getWindowInnerWidth(){return typeof window<"u"?window.innerWidth:800}static getWindowInnerHeight(){return typeof window<"u"?window.innerHeight:800}updateRendererSize(){this._resizeCanvas()}_setupOrientation(){if(typeof window>"u"||!window.screen||!window.screen.orientation)return;const n=this._game.getGameData().properties.orientation;try{if(n==="default"){const e=window.screen.orientation.unlock();e&&e.catch(()=>{})}else window.screen.orientation.lock(n).catch(()=>{})}catch(e){m.error("Unexpected error while setting up orientation: ",e)}}_resizeCanvas(){if(!this._pixiRenderer||!this._domElementsContainer)return;(this._pixiRenderer.width!==this._game.getGameResolutionWidth()||this._pixiRenderer.height!==this._game.getGameResolutionHeight())&&(this._pixiRenderer.resize(this._game.getGameResolutionWidth(),this._game.getGameResolutionHeight()),this._threeRenderer&&this._threeRenderer.setSize(this._game.getGameResolutionWidth(),this._game.getGameResolutionHeight()));const n=this._forceFullscreen||this._isFullPage||this._isFullscreen;let e=this._game.getGameResolutionWidth(),i=this._game.getGameResolutionHeight(),o=window.innerWidth-this._marginLeft-this._marginRight,r=window.innerHeight-this._marginTop-this._marginBottom;if(o<0&&(o=0),r<0&&(r=0),n&&!this._keepRatio)e=o,i=r;else if(n&&this._keepRatio||e>o||i>r){let u=o/e;i*u>r&&(u=r/i),e*=u,i*=u}this._gameCanvas&&(this._gameCanvas.style.top=this._marginTop+(r-i)/2+"px",this._gameCanvas.style.left=this._marginLeft+(o-e)/2+"px",this._gameCanvas.style.width=e+"px",this._gameCanvas.style.height=i+"px"),this._domElementsContainer.style.top=this._marginTop+(r-i)/2+"px",this._domElementsContainer.style.left=this._marginLeft+(o-e)/2+"px",this._domElementsContainer.style.width=e+"px",this._domElementsContainer.style.height=i+"px",this._canvasWidth=e,this._canvasHeight=i}keepAspectRatio(n){this._keepRatio!==n&&(this._keepRatio=n,this._resizeCanvas())}setMargins(n,e,i,o){this._marginTop===n&&this._marginRight===e&&this._marginBottom===i&&this._marginLeft===o||(this._marginTop=n,this._marginRight=e,this._marginBottom=i,this._marginLeft=o,this._resizeCanvas())}setWindowSize(n,e){const i=this.getElectronRemote();if(i){const o=i.getCurrentWindow();o&&o.setContentSize(n,e)}else m.warn("Window size can't be changed on this platform.")}centerWindow(){const n=this.getElectronRemote();if(n){const e=n.getCurrentWindow();e&&e.center()}}setFullScreen(n){if(!this._forceFullscreen&&this._isFullscreen!==n){this._isFullscreen=!!n;const e=this.getElectronRemote();if(e){const i=e.getCurrentWindow();i&&i.setFullScreen(this._isFullscreen)}else this._isFullscreen?document.documentElement.requestFullscreen?document.documentElement.requestFullscreen():document.documentElement.mozRequestFullScreen?document.documentElement.mozRequestFullScreen():document.documentElement.webkitRequestFullScreen&&document.documentElement.webkitRequestFullScreen():document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen();this._resizeCanvas()}}isFullScreen(){const n=this.getElectronRemote();return n?n.getCurrentWindow().isFullScreen():this._isFullscreen||window.screen.height===window.innerHeight}convertCanvasToDomElementContainerCoords(n,e){const i=e||[0,0];return i[0]=n[0]*this._canvasWidth/this._game.getGameResolutionWidth(),i[1]=n[1]*this._canvasHeight/this._game.getGameResolutionHeight(),i}getCanvasToDomElementContainerHeightScale(){return(this._canvasHeight||1)/this._game.getGameResolutionHeight()}bindStandardEvents(n,e,i){const o=this._gameCanvas;if(!o)return;const r=t=>{const s=[t.pageX-o.offsetLeft,t.pageY-o.offsetTop];return s[0]*=this._game.getGameResolutionWidth()/(this._canvasWidth||1),s[1]*=this._game.getGameResolutionHeight()/(this._canvasHeight||1),s},u=t=>{const s=t.pageX-o.offsetLeft,a=t.pageY-o.offsetTop;return 0<=s&&s<(this._canvasWidth||1)&&0<=a&&a<(this._canvasHeight||1)};(function(){isNaN(o.offsetLeft)&&(o.offsetLeft=0,o.offsetTop=0),isNaN(i.body.scrollLeft)&&(i.body.scrollLeft=0,i.body.scrollTop=0),(i.documentElement===void 0||i.documentElement===null)&&(i.documentElement={}),isNaN(i.documentElement.scrollLeft)&&(i.documentElement.scrollLeft=0,i.documentElement.scrollTop=0),isNaN(o.offsetLeft)&&(o.offsetLeft=0,o.offsetTop=0)})();const g=()=>!(i.activeElement===o||i.activeElement===i.body||i.activeElement===null),h=t=>!(t.target===o||t.target===i.body);i.onkeydown=function(t){g()||(f.includes(t.keyCode)&&t.preventDefault(),n.onKeyPressed(t.keyCode,t.location))},i.onkeyup=function(t){g()||(f.includes(t.keyCode)&&t.preventDefault(),n.onKeyReleased(t.keyCode,t.location))};function _(t){switch(t){case 1:return l.InputManager.MOUSE_MIDDLE_BUTTON;case 2:return l.InputManager.MOUSE_RIGHT_BUTTON}return t}o.onmousemove=function(t){const s=r(t);n.onMouseMove(s[0],s[1])},o.onmousedown=function(t){return n.onMouseButtonPressed(_(t.button)),e.focus!==void 0&&e.focus(),!1},o.onmouseup=function(t){return n.onMouseButtonReleased(_(t.button)),!1},o.onmouseleave=function(t){n.onMouseLeave()},o.onmouseenter=function(t){n.onMouseEnter();const s=[l.InputManager.MOUSE_LEFT_BUTTON,l.InputManager.MOUSE_RIGHT_BUTTON,l.InputManager.MOUSE_MIDDLE_BUTTON,l.InputManager.MOUSE_BACK_BUTTON,l.InputManager.MOUSE_FORWARD_BUTTON];for(let a=0,E=s.length;a<E;++a){const d=s[a],p=(t.buttons&1<<a)!==0,R=n.isMouseButtonPressed(d);p&&!R?n.onMouseButtonPressed(d):!p&&R&&n.onMouseButtonReleased(d)}},e.addEventListener("click",function(t){return e.focus!==void 0&&e.focus(),!1},!1),o.oncontextmenu=function(t){return t.preventDefault(),t.stopPropagation(),!1},o.onwheel=function(t){n.onMouseWheel(-t.deltaY)},e.addEventListener("touchmove",function(t){if(!h(t)&&(t.preventDefault(),t.changedTouches))for(let s=0;s<t.changedTouches.length;++s){const a=r(t.changedTouches[s]);n.onTouchMove(t.changedTouches[s].identifier,a[0],a[1]),n.isSimulatingMouseWithTouch()&&(u(t.changedTouches[s])?n.onMouseEnter():n.onMouseLeave())}}),e.addEventListener("touchstart",function(t){if(!h(t)){if(t.preventDefault(),t.changedTouches)for(let s=0;s<t.changedTouches.length;++s){const a=r(t.changedTouches[s]);n.onTouchStart(t.changedTouches[s].identifier,a[0],a[1])}return!1}}),e.addEventListener("touchend",function(t){if(!h(t)){if(t.preventDefault(),t.changedTouches)for(let s=0;s<t.changedTouches.length;++s)n.onTouchEnd(t.changedTouches[s].identifier);return!1}}),e.addEventListener("touchcancel",function(t){if(!h(t)){if(t.preventDefault(),t.changedTouches)for(let s=0;s<t.changedTouches.length;++s)n.onTouchCancel(t.changedTouches[s].identifier);return!1}})}setWindowTitle(n){typeof document<"u"&&(document.title=n)}getWindowTitle(){return typeof document<"u"?document.title:""}startGameLoop(n){let e=0;const i=o=>{this._nextFrameId=requestAnimationFrame(i);const r=e?o-e:0;e=o,n(r)||cancelAnimationFrame(this._nextFrameId)};requestAnimationFrame(i)}getPIXIRenderer(){return this._pixiRenderer}getThreeRenderer(){return this._threeRenderer}getDomElementContainer(){return this._domElementsContainer}openURL(n){if(typeof window<"u"){const e=this.getElectron();if(e)e.shell.openExternal(n);else{const i=window.cordova?"_system":"_blank";window.open(n,i)}}}stopGame(){const n=this.getElectronRemote();if(n){const e=n.getCurrentWindow();e&&e.close()}else typeof navigator<"u"&&navigator.app&&navigator.app.exitApp&&navigator.app.exitApp()}getCanvas(){return this._gameCanvas}isWebGLSupported(){return!!this._pixiRenderer&&this._pixiRenderer.type===c.RENDERER_TYPE.WEBGL}getElectron(){return typeof require=="function"?require("electron"):null}getElectronRemote=()=>{if(typeof require=="function"){const n=this._game.getAdditionalOptions(),e=n&&n.electronRemoteRequirePath?n.electronRemoteRequirePath:"@electron/remote";try{return require(e)}catch(i){console.error(`Could not load @electron/remote from "${e}". Error is:`,i)}}return null}}l.RuntimeGamePixiRenderer=v,l.RuntimeGameRenderer=v})(gdjs||={});
2
+ //# sourceMappingURL=runtimegame-pixi-renderer.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../GDevelop/GDJS/Runtime/pixi-renderers/runtimegame-pixi-renderer.ts"],
4
+ "sourcesContent": ["namespace gdjs {\n const logger = new gdjs.Logger('PIXI game renderer');\n\n import PIXI = GlobalPIXIModule.PIXI;\n\n /**\n * Codes (as in `event.code`) of keys that should have their event `preventDefault`\n * called. This is used to avoid scrolling in a webpage when these keys are pressed\n * in the game.\n */\n const defaultPreventedKeyCodes = [\n 37, // ArrowLeft\n 38, // ArrowUp\n 39, // ArrowRight\n 40, // ArrowDown\n ];\n\n /**\n * The renderer for a gdjs.RuntimeGame using Pixi.js.\n */\n export class RuntimeGamePixiRenderer {\n _game: gdjs.RuntimeGame;\n _isFullPage: boolean = true;\n\n //Used to track if the canvas is displayed on the full page.\n _isFullscreen: boolean = false;\n\n //Used to track if the window is displayed as fullscreen (see setFullscreen method).\n _forceFullscreen: any;\n\n _pixiRenderer: PIXI.Renderer | null = null;\n private _threeRenderer: THREE.WebGLRenderer | null = null;\n private _gameCanvas: HTMLCanvasElement | null = null;\n private _domElementsContainer: HTMLDivElement | null = null;\n\n // Current width of the canvas (might be scaled down/up compared to renderer)\n _canvasWidth: float = 0;\n // Current height of the canvas (might be scaled down/up compared to renderer)\n _canvasHeight: float = 0;\n\n _keepRatio: boolean = true;\n _marginLeft: any;\n _marginTop: any;\n _marginRight: any;\n _marginBottom: any;\n\n _nextFrameId: integer = 0;\n\n /**\n * @param game The game that is being rendered\n * @param forceFullscreen If fullscreen should be always activated\n */\n constructor(game: gdjs.RuntimeGame, forceFullscreen: boolean) {\n this._game = game;\n this._forceFullscreen = forceFullscreen;\n\n //If set to true, the canvas will always be displayed as fullscreen, even if _isFullscreen == false.\n this._marginLeft = this._marginTop = this._marginRight = this._marginBottom = 0;\n this._setupOrientation();\n }\n\n /**\n * Create a standard canvas inside canvasArea.\n *\n */\n createStandardCanvas(parentElement: HTMLElement) {\n let gameCanvas: HTMLCanvasElement;\n if (typeof THREE !== 'undefined') {\n gameCanvas = document.createElement('canvas');\n this._threeRenderer = new THREE.WebGLRenderer({\n canvas: gameCanvas,\n antialias:\n this._game.getAntialiasingMode() !== 'none' &&\n (this._game.isAntialisingEnabledOnMobile() ||\n !gdjs.evtTools.common.isMobile()),\n });\n this._threeRenderer.autoClear = false;\n this._threeRenderer.setSize(\n this._game.getGameResolutionWidth(),\n this._game.getGameResolutionHeight()\n );\n\n // Create a PixiJS renderer that use the same GL context as Three.js\n // so that both can render to the canvas and even have PixiJS rendering\n // reused in Three.js (by using a RenderTexture and the same internal WebGL texture).\n this._pixiRenderer = new PIXI.Renderer({\n width: this._game.getGameResolutionWidth(),\n height: this._game.getGameResolutionHeight(),\n view: gameCanvas,\n // @ts-ignore - reuse the context from Three.js.\n context: this._threeRenderer.getContext(),\n clearBeforeRender: false,\n preserveDrawingBuffer: true,\n antialias: false,\n backgroundAlpha: 0,\n // TODO (3D): add a setting for pixel ratio (`resolution: window.devicePixelRatio`)\n });\n\n gameCanvas = this._threeRenderer.domElement;\n } else {\n // Create the renderer and setup the rendering area.\n // \"preserveDrawingBuffer: true\" is needed to avoid flickering\n // and background issues on some mobile phones (see #585 #572 #566 #463).\n this._pixiRenderer = PIXI.autoDetectRenderer({\n width: this._game.getGameResolutionWidth(),\n height: this._game.getGameResolutionHeight(),\n preserveDrawingBuffer: true,\n antialias: false,\n }) as PIXI.Renderer;\n\n gameCanvas = this._pixiRenderer.view;\n }\n\n // Add the renderer view element to the DOM\n parentElement.appendChild(gameCanvas);\n this._gameCanvas = gameCanvas;\n\n gameCanvas.style.position = 'absolute';\n\n // Ensure that the canvas has the focus.\n gameCanvas.tabIndex = 1;\n\n // Ensure long press can't create a selection\n gameCanvas.style.userSelect = 'none';\n gameCanvas.style.outline = 'none'; // No selection/focus ring on the canvas.\n\n // Set up the container for HTML elements on top of the game canvas.\n const domElementsContainer = document.createElement('div');\n domElementsContainer.style.position = 'absolute';\n domElementsContainer.style.overflow = 'hidden'; // Never show anything outside the container.\n domElementsContainer.style.outline = 'none'; // No selection/focus ring on this container.\n domElementsContainer.style.pointerEvents = 'none'; // Clicks go through the container.\n\n // The container should *never* scroll.\n // Elements are put inside with the same coordinates (with a scaling factor)\n // as on the game canvas.\n domElementsContainer.addEventListener('scroll', (event) => {\n domElementsContainer.scrollLeft = 0;\n domElementsContainer.scrollTop = 0;\n event.preventDefault();\n });\n\n // When clicking outside an input, (or other HTML element),\n // give back focus to the game canvas so that this element is blurred.\n gameCanvas.addEventListener('pointerdown', () => {\n gameCanvas.focus();\n });\n\n // Prevent magnifying glass on iOS with a long press.\n // Note that there are related bugs on iOS 15 (see https://bugs.webkit.org/show_bug.cgi?id=231161)\n // but it seems not to affect us as the `domElementsContainer` has `pointerEvents` set to `none`.\n domElementsContainer.style['-webkit-user-select'] = 'none';\n\n parentElement.appendChild(domElementsContainer);\n this._domElementsContainer = domElementsContainer;\n\n this._resizeCanvas();\n\n // Handle scale mode.\n if (this._game.getScaleMode() === 'nearest') {\n gameCanvas.style['image-rendering'] = '-moz-crisp-edges';\n gameCanvas.style['image-rendering'] = '-webkit-optimize-contrast';\n gameCanvas.style['image-rendering'] = '-webkit-crisp-edges';\n gameCanvas.style['image-rendering'] = 'pixelated';\n }\n\n // Handle pixels rounding.\n if (this._game.getPixelsRounding()) {\n PIXI.settings.ROUND_PIXELS = true;\n }\n\n // Handle resize: immediately adjust the game canvas (and dom element container)\n // and notify the game (that may want to adjust to the new size of the window).\n window.addEventListener('resize', () => {\n this._game.onWindowInnerSizeChanged();\n this._resizeCanvas();\n });\n\n // Focus the canvas when created.\n gameCanvas.focus();\n }\n\n static getWindowInnerWidth() {\n return typeof window !== 'undefined' ? window.innerWidth : 800;\n }\n\n static getWindowInnerHeight() {\n return typeof window !== 'undefined' ? window.innerHeight : 800;\n }\n\n /**\n * Update the game renderer size according to the \"game resolution\".\n * Called when game resolution changes.\n *\n * Note that if the canvas is fullscreen, it won't be resized, but when going back to\n * non fullscreen mode, the requested size will be used.\n */\n updateRendererSize(): void {\n this._resizeCanvas();\n }\n\n /**\n * Set the proper screen orientation from the project properties.\n */\n private _setupOrientation() {\n if (\n typeof window === 'undefined' ||\n !window.screen ||\n !window.screen.orientation\n ) {\n return;\n }\n const gameOrientation = this._game.getGameData().properties.orientation;\n try {\n // We ignore the error as some platforms may not supporting locking (i.e: desktop).\n if (gameOrientation === 'default') {\n const promise = window.screen.orientation.unlock();\n // @ts-ignore\n if (promise) {\n // @ts-ignore\n promise.catch(() => {});\n }\n } else {\n // @ts-ignore\n window.screen.orientation.lock(gameOrientation).catch(() => {});\n }\n } catch (error) {\n logger.error('Unexpected error while setting up orientation: ', error);\n }\n }\n\n /**\n * Resize the renderer (the \"game resolution\") and the canvas (which can be larger\n * or smaller to fill the page, with optional margins).\n *\n */\n private _resizeCanvas() {\n if (!this._pixiRenderer || !this._domElementsContainer) return;\n\n // Set the Pixi (and/or Three) renderer size to the game size.\n // There is no \"smart\" resizing to be done here: the rendering of the game\n // should be done with the size set on the game.\n if (\n this._pixiRenderer.width !== this._game.getGameResolutionWidth() ||\n this._pixiRenderer.height !== this._game.getGameResolutionHeight()\n ) {\n // TODO (3D): It might be useful to resize pixi view in 3D depending on FOV value\n // to enable a mode where pixi always fills the whole screen.\n this._pixiRenderer.resize(\n this._game.getGameResolutionWidth(),\n this._game.getGameResolutionHeight()\n );\n\n if (this._threeRenderer) {\n this._threeRenderer.setSize(\n this._game.getGameResolutionWidth(),\n this._game.getGameResolutionHeight()\n );\n }\n }\n\n // Set the canvas size.\n // Resizing is done according to the settings. This is a \"CSS\" resize\n // only, so won't create visual artifacts during the rendering.\n const isFullPage =\n this._forceFullscreen || this._isFullPage || this._isFullscreen;\n let canvasWidth = this._game.getGameResolutionWidth();\n let canvasHeight = this._game.getGameResolutionHeight();\n let maxWidth = window.innerWidth - this._marginLeft - this._marginRight;\n let maxHeight = window.innerHeight - this._marginTop - this._marginBottom;\n if (maxWidth < 0) {\n maxWidth = 0;\n }\n if (maxHeight < 0) {\n maxHeight = 0;\n }\n if (isFullPage && !this._keepRatio) {\n canvasWidth = maxWidth;\n canvasHeight = maxHeight;\n } else {\n if (\n (isFullPage && this._keepRatio) ||\n canvasWidth > maxWidth ||\n canvasHeight > maxHeight\n ) {\n let factor = maxWidth / canvasWidth;\n if (canvasHeight * factor > maxHeight) {\n factor = maxHeight / canvasHeight;\n }\n canvasWidth *= factor;\n canvasHeight *= factor;\n }\n }\n\n // Apply the calculations to the canvas element...\n if (this._gameCanvas) {\n this._gameCanvas.style.top =\n this._marginTop + (maxHeight - canvasHeight) / 2 + 'px';\n this._gameCanvas.style.left =\n this._marginLeft + (maxWidth - canvasWidth) / 2 + 'px';\n this._gameCanvas.style.width = canvasWidth + 'px';\n this._gameCanvas.style.height = canvasHeight + 'px';\n }\n\n // ...and to the div on top of it showing DOM elements (like inputs).\n this._domElementsContainer.style.top =\n this._marginTop + (maxHeight - canvasHeight) / 2 + 'px';\n this._domElementsContainer.style.left =\n this._marginLeft + (maxWidth - canvasWidth) / 2 + 'px';\n this._domElementsContainer.style.width = canvasWidth + 'px';\n this._domElementsContainer.style.height = canvasHeight + 'px';\n\n // Store the canvas size for fast access to it.\n this._canvasWidth = canvasWidth;\n this._canvasHeight = canvasHeight;\n }\n\n /**\n * Set if the aspect ratio must be kept when the game canvas is resized to fill\n * the page.\n */\n keepAspectRatio(enable) {\n if (this._keepRatio === enable) {\n return;\n }\n this._keepRatio = enable;\n this._resizeCanvas();\n }\n\n /**\n * Change the margin that must be preserved around the game canvas.\n */\n setMargins(top, right, bottom, left): void {\n if (\n this._marginTop === top &&\n this._marginRight === right &&\n this._marginBottom === bottom &&\n this._marginLeft === left\n ) {\n return;\n }\n this._marginTop = top;\n this._marginRight = right;\n this._marginBottom = bottom;\n this._marginLeft = left;\n this._resizeCanvas();\n }\n\n /**\n * Update the window size, if possible.\n * @param width The new width, in pixels.\n * @param height The new height, in pixels.\n */\n setWindowSize(width: float, height: float): void {\n const remote = this.getElectronRemote();\n if (remote) {\n // Use Electron BrowserWindow API\n const browserWindow = remote.getCurrentWindow();\n if (browserWindow) {\n browserWindow.setContentSize(width, height);\n }\n } else {\n logger.warn(\"Window size can't be changed on this platform.\");\n }\n }\n\n /**\n * Center the window on screen.\n */\n centerWindow() {\n const remote = this.getElectronRemote();\n if (remote) {\n // Use Electron BrowserWindow API\n const browserWindow = remote.getCurrentWindow();\n if (browserWindow) {\n browserWindow.center();\n }\n } else {\n }\n }\n\n // Not supported\n /**\n * De/activate fullscreen for the game.\n */\n setFullScreen(enable): void {\n if (this._forceFullscreen) {\n return;\n }\n if (this._isFullscreen !== enable) {\n this._isFullscreen = !!enable;\n const remote = this.getElectronRemote();\n if (remote) {\n // Use Electron BrowserWindow API\n const browserWindow = remote.getCurrentWindow();\n if (browserWindow) {\n browserWindow.setFullScreen(this._isFullscreen);\n }\n } else {\n // Use HTML5 Fullscreen API\n //TODO: Do this on a user gesture, otherwise most browsers won't activate fullscreen\n if (this._isFullscreen) {\n // @ts-ignore\n if (document.documentElement.requestFullscreen) {\n // @ts-ignore\n document.documentElement.requestFullscreen();\n } else {\n // @ts-ignore\n if (document.documentElement.mozRequestFullScreen) {\n // @ts-ignore\n document.documentElement.mozRequestFullScreen();\n } else {\n // @ts-ignore\n if (document.documentElement.webkitRequestFullScreen) {\n // @ts-ignore\n document.documentElement.webkitRequestFullScreen();\n }\n }\n }\n } else {\n // @ts-ignore\n if (document.exitFullscreen) {\n // @ts-ignore\n document.exitFullscreen();\n } else {\n // @ts-ignore\n if (document.mozCancelFullScreen) {\n // @ts-ignore\n document.mozCancelFullScreen();\n } else {\n // @ts-ignore\n if (document.webkitCancelFullScreen) {\n // @ts-ignore\n document.webkitCancelFullScreen();\n }\n }\n }\n }\n }\n this._resizeCanvas();\n }\n }\n\n /**\n * Checks if the game is in full screen.\n */\n isFullScreen(): boolean {\n const remote = this.getElectronRemote();\n if (remote) {\n return remote.getCurrentWindow().isFullScreen();\n }\n\n // Height check is used to detect user triggered full screen (for example F11 shortcut).\n return this._isFullscreen || window.screen.height === window.innerHeight;\n }\n\n /**\n * Convert a point from the canvas coordinates to the dom element container coordinates.\n *\n * @param canvasCoords The point in the canvas coordinates.\n * @param result The point to return.\n * @returns The point in the dom element container coordinates.\n */\n convertCanvasToDomElementContainerCoords(\n canvasCoords: FloatPoint,\n result: FloatPoint\n ): FloatPoint {\n const pageCoords = result || [0, 0];\n\n // Handle the fact that the game is stretched to fill the canvas.\n pageCoords[0] =\n (canvasCoords[0] * this._canvasWidth) /\n this._game.getGameResolutionWidth();\n pageCoords[1] =\n (canvasCoords[1] * this._canvasHeight) /\n this._game.getGameResolutionHeight();\n\n return pageCoords;\n }\n\n /**\n * Return the scale factor between the renderer height and the actual canvas height,\n * which is also the height of the container for DOM elements to be superimposed on top of it.\n *\n * Useful to scale font sizes of DOM elements so that they follow the size of the game.\n */\n getCanvasToDomElementContainerHeightScale(): float {\n return (this._canvasHeight || 1) / this._game.getGameResolutionHeight();\n }\n\n /**\n * Add the standard events handler.\n */\n bindStandardEvents(\n manager: gdjs.InputManager,\n window: Window,\n document: Document\n ) {\n const canvas = this._gameCanvas;\n if (!canvas) return;\n\n //Translate an event (mouse or touch) made on the canvas on the page\n //to game coordinates.\n const getEventPosition = (e: MouseEvent | Touch) => {\n const pos = [e.pageX - canvas.offsetLeft, e.pageY - canvas.offsetTop];\n\n // Handle the fact that the game is stretched to fill the canvas.\n pos[0] *=\n this._game.getGameResolutionWidth() / (this._canvasWidth || 1);\n pos[1] *=\n this._game.getGameResolutionHeight() / (this._canvasHeight || 1);\n return pos;\n };\n\n const isInsideCanvas = (e: MouseEvent | Touch) => {\n const x = e.pageX - canvas.offsetLeft;\n const y = e.pageY - canvas.offsetTop;\n\n return (\n 0 <= x &&\n x < (this._canvasWidth || 1) &&\n 0 <= y &&\n y < (this._canvasHeight || 1)\n );\n };\n\n //Some browsers lacks definition of some variables used to do calculations\n //in getEventPosition. They are defined to 0 as they are useless.\n\n (function ensureOffsetsExistence() {\n if (isNaN(canvas.offsetLeft)) {\n // @ts-ignore\n canvas.offsetLeft = 0;\n // @ts-ignore\n canvas.offsetTop = 0;\n }\n if (isNaN(document.body.scrollLeft)) {\n document.body.scrollLeft = 0;\n document.body.scrollTop = 0;\n }\n if (\n document.documentElement === undefined ||\n document.documentElement === null\n ) {\n // @ts-ignore\n document.documentElement = {};\n }\n if (isNaN(document.documentElement.scrollLeft)) {\n document.documentElement.scrollLeft = 0;\n document.documentElement.scrollTop = 0;\n }\n if (isNaN(canvas.offsetLeft)) {\n // @ts-ignore\n canvas.offsetLeft = 0;\n // @ts-ignore\n canvas.offsetTop = 0;\n }\n })();\n\n // Keyboard: listen at the document level to capture even when the canvas\n // is not focused.\n\n const isFocusingDomElement = () => {\n // Fast bailout when the game canvas should receive the inputs (i.e: almost always).\n // Also check the document body or null for activeElement, as all of these should go\n // to the game.\n if (\n document.activeElement === canvas ||\n document.activeElement === document.body ||\n document.activeElement === null\n )\n return false;\n\n return true;\n };\n const isTargetDomElement = (event: TouchEvent) => {\n // Fast bailout when the game canvas should receive the inputs (i.e: almost always).\n // Any event with a target that is not the body or the canvas should\n // not go to the game (<input> or <a> elements for instances).\n if (event.target === canvas || event.target === document.body)\n return false;\n return true;\n };\n document.onkeydown = function (e) {\n if (isFocusingDomElement()) {\n // Bail out if the game canvas is not focused. For example,\n // an `<input>` element can be focused, and needs to receive\n // arrow keys events.\n return;\n }\n\n if (defaultPreventedKeyCodes.includes(e.keyCode)) {\n // Some keys are \"default prevented\" to avoid scrolling when the game\n // is integrated in a page as an iframe.\n e.preventDefault();\n }\n\n manager.onKeyPressed(e.keyCode, e.location);\n };\n document.onkeyup = function (e) {\n if (isFocusingDomElement()) {\n // Bail out if the game canvas is not focused. For example,\n // an `<input>` element can be focused, and needs to receive\n // arrow keys events.\n return;\n }\n\n if (defaultPreventedKeyCodes.includes(e.keyCode)) {\n // Some keys are \"default prevented\" to avoid scrolling when the game\n // is integrated in a page as an iframe.\n e.preventDefault();\n }\n\n manager.onKeyReleased(e.keyCode, e.location);\n };\n\n // Mouse:\n\n // Converts HTML mouse button to InputManager mouse button.\n // This function is used to align HTML button values with GDevelop 3 C++ SFML Mouse button enum values,\n // notably the middle and right buttons.\n function convertHtmlMouseButtonToInputManagerMouseButton(button: number) {\n switch (button) {\n case 1: // Middle button\n return gdjs.InputManager.MOUSE_MIDDLE_BUTTON;\n case 2: // Right button\n return gdjs.InputManager.MOUSE_RIGHT_BUTTON;\n }\n return button;\n }\n canvas.onmousemove = function (e) {\n const pos = getEventPosition(e);\n manager.onMouseMove(pos[0], pos[1]);\n };\n canvas.onmousedown = function (e) {\n manager.onMouseButtonPressed(\n convertHtmlMouseButtonToInputManagerMouseButton(e.button)\n );\n if (window.focus !== undefined) {\n window.focus();\n }\n return false;\n };\n canvas.onmouseup = function (e) {\n manager.onMouseButtonReleased(\n convertHtmlMouseButtonToInputManagerMouseButton(e.button)\n );\n return false;\n };\n canvas.onmouseleave = function (e) {\n manager.onMouseLeave();\n };\n canvas.onmouseenter = function (e) {\n manager.onMouseEnter();\n // There is no mouse event when the cursor is outside of the canvas.\n // We catchup what happened.\n const buttons = [\n gdjs.InputManager.MOUSE_LEFT_BUTTON,\n gdjs.InputManager.MOUSE_RIGHT_BUTTON,\n gdjs.InputManager.MOUSE_MIDDLE_BUTTON,\n gdjs.InputManager.MOUSE_BACK_BUTTON,\n gdjs.InputManager.MOUSE_FORWARD_BUTTON,\n ];\n for (let i = 0, len = buttons.length; i < len; ++i) {\n const button = buttons[i];\n const buttonIsPressed = (e.buttons & (1 << i)) !== 0;\n const buttonWasPressed = manager.isMouseButtonPressed(button);\n if (buttonIsPressed && !buttonWasPressed) {\n manager.onMouseButtonPressed(button);\n } else if (!buttonIsPressed && buttonWasPressed) {\n manager.onMouseButtonReleased(button);\n }\n }\n };\n window.addEventListener(\n 'click',\n function (e) {\n if (window.focus !== undefined) {\n window.focus();\n }\n return false;\n },\n false\n );\n canvas.oncontextmenu = function (event) {\n event.preventDefault();\n event.stopPropagation();\n return false;\n };\n // @ts-ignore\n canvas.onwheel = function (event) {\n manager.onMouseWheel(-event.deltaY);\n };\n\n // Touches:\n window.addEventListener('touchmove', function (e) {\n if (isTargetDomElement(e)) {\n // Bail out if the game canvas is not focused. For example,\n // an `<input>` element can be focused, and needs to receive\n // touch events to move the selection (and do other native gestures).\n return;\n }\n\n e.preventDefault();\n if (e.changedTouches) {\n for (let i = 0; i < e.changedTouches.length; ++i) {\n const pos = getEventPosition(e.changedTouches[i]);\n manager.onTouchMove(e.changedTouches[i].identifier, pos[0], pos[1]);\n // This works because touch events are sent\n // when they continue outside of the canvas.\n if (manager.isSimulatingMouseWithTouch()) {\n if (isInsideCanvas(e.changedTouches[i])) {\n manager.onMouseEnter();\n } else {\n manager.onMouseLeave();\n }\n }\n }\n }\n });\n window.addEventListener('touchstart', function (e) {\n if (isTargetDomElement(e)) {\n // Bail out if the game canvas is not focused. For example,\n // an `<input>` element can be focused, and needs to receive\n // touch events to move the selection (and do other native gestures).\n return;\n }\n\n e.preventDefault();\n if (e.changedTouches) {\n for (let i = 0; i < e.changedTouches.length; ++i) {\n const pos = getEventPosition(e.changedTouches[i]);\n manager.onTouchStart(\n e.changedTouches[i].identifier,\n pos[0],\n pos[1]\n );\n }\n }\n return false;\n });\n window.addEventListener('touchend', function (e) {\n if (isTargetDomElement(e)) {\n // Bail out if the game canvas is not focused. For example,\n // an `<input>` element can be focused, and needs to receive\n // touch events to move the selection (and do other native gestures).\n return;\n }\n\n e.preventDefault();\n if (e.changedTouches) {\n for (let i = 0; i < e.changedTouches.length; ++i) {\n manager.onTouchEnd(e.changedTouches[i].identifier);\n }\n }\n return false;\n });\n window.addEventListener('touchcancel', function (e) {\n if (isTargetDomElement(e)) {\n // Bail out if the game canvas is not focused. For example,\n // an `<input>` element can be focused, and needs to receive\n // touch events to move the selection (and do other native gestures).\n return;\n }\n\n e.preventDefault();\n if (e.changedTouches) {\n for (let i = 0; i < e.changedTouches.length; ++i) {\n manager.onTouchCancel(e.changedTouches[i].identifier);\n }\n }\n return false;\n });\n }\n\n setWindowTitle(title): void {\n if (typeof document !== 'undefined') {\n document.title = title;\n }\n }\n\n getWindowTitle() {\n return typeof document !== 'undefined' ? document.title : '';\n }\n\n startGameLoop(fn) {\n let oldTime = 0;\n const gameLoop = (time: float) => {\n // Schedule the next frame now to be sure it's called as soon\n // as possible after this one is finished.\n this._nextFrameId = requestAnimationFrame(gameLoop);\n\n const dt = oldTime ? time - oldTime : 0;\n oldTime = time;\n if (!fn(dt)) {\n // Stop the game loop if requested.\n cancelAnimationFrame(this._nextFrameId);\n }\n };\n\n requestAnimationFrame(gameLoop);\n }\n\n getPIXIRenderer() {\n return this._pixiRenderer;\n }\n\n /**\n * Get the Three.js renderer for the game - if any.\n */\n getThreeRenderer(): THREE.WebGLRenderer | null {\n return this._threeRenderer;\n }\n\n /**\n * Get the DOM element used as a container for HTML elements to display\n * on top of the game.\n */\n getDomElementContainer() {\n return this._domElementsContainer;\n }\n\n /**\n * Open the given URL in the system browser (or a new tab)\n */\n openURL(url: string) {\n // Try to detect the environment to use the most adapted\n // way of opening an URL.\n\n if (typeof window !== 'undefined') {\n const electron = this.getElectron();\n if (electron) {\n electron.shell.openExternal(url);\n } else {\n // @ts-ignore\n const target = window.cordova ? '_system' : '_blank';\n window.open(url, target);\n }\n }\n }\n\n /**\n * Close the game, if applicable\n */\n stopGame() {\n // Try to detect the environment to use the most adapted\n // way of closing the app\n const remote = this.getElectronRemote();\n if (remote) {\n const browserWindow = remote.getCurrentWindow();\n if (browserWindow) {\n browserWindow.close();\n }\n } else {\n if (\n typeof navigator !== 'undefined' &&\n // @ts-ignore\n navigator.app &&\n // @ts-ignore\n navigator.app.exitApp\n ) {\n // @ts-ignore\n navigator.app.exitApp();\n }\n }\n // HTML5 games on mobile/browsers don't have a way to close their window/page.\n }\n\n /**\n * Get the canvas DOM element.\n */\n getCanvas(): HTMLCanvasElement | null {\n return this._gameCanvas;\n }\n\n /**\n * Check if the device supports WebGL.\n * @returns true if WebGL is supported\n */\n isWebGLSupported(): boolean {\n return (\n !!this._pixiRenderer &&\n this._pixiRenderer.type === PIXI.RENDERER_TYPE.WEBGL\n );\n }\n\n /**\n * Get the electron module, if running as a electron renderer process.\n */\n getElectron() {\n if (typeof require === 'function') {\n return require('electron');\n }\n return null;\n }\n\n /**\n * Helper to get the electron remote module, if running on Electron.\n * Note that is not guaranteed to be supported in the future - avoid if possible.\n */\n getElectronRemote = () => {\n if (typeof require === 'function') {\n const runtimeGameOptions = this._game.getAdditionalOptions();\n const moduleId =\n runtimeGameOptions && runtimeGameOptions.electronRemoteRequirePath\n ? runtimeGameOptions.electronRemoteRequirePath\n : '@electron/remote';\n\n try {\n return require(moduleId);\n } catch (requireError) {\n console.error(\n `Could not load @electron/remote from \"${moduleId}\". Error is:`,\n requireError\n );\n }\n }\n\n return null;\n };\n }\n\n //Register the class to let the engine use it.\n export type RuntimeGameRenderer = RuntimeGamePixiRenderer;\n export const RuntimeGameRenderer = RuntimeGamePixiRenderer;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["gdjs", "logger", "PIXI", "defaultPreventedKeyCodes", "RuntimeGamePixiRenderer", "game", "forceFullscreen", "parentElement", "gameCanvas", "domElementsContainer", "event", "gameOrientation", "promise", "error", "isFullPage", "canvasWidth", "canvasHeight", "maxWidth", "maxHeight", "factor", "enable", "top", "right", "bottom", "left", "width", "height", "remote", "browserWindow", "canvasCoords", "result", "pageCoords", "manager", "window", "document", "canvas", "getEventPosition", "e", "pos", "isInsideCanvas", "x", "y", "isFocusingDomElement", "isTargetDomElement", "convertHtmlMouseButtonToInputManagerMouseButton", "button", "buttons", "i", "len", "buttonIsPressed", "buttonWasPressed", "title", "fn", "oldTime", "gameLoop", "time", "dt", "url", "electron", "target", "runtimeGameOptions", "moduleId", "requireError"]
7
+ }
@@ -0,0 +1,3 @@
1
+ var gdjs;(o=>{const l=GlobalPIXIModule.PIXI;class _{_runtimeGameRenderer;_runtimeScene;_pixiContainer;_profilerText=null;_showCursorAtNextRender=!1;_threeRenderer=null;_layerRenderingMetrics={rendered2DLayersCount:0,rendered3DLayersCount:0};constructor(t,e){this._runtimeGameRenderer=e,this._runtimeScene=t,this._pixiContainer=new l.Container,this._pixiContainer.sortableChildren=!0,this._threeRenderer=this._runtimeGameRenderer?this._runtimeGameRenderer.getThreeRenderer():null}onGameResolutionResized(){const t=this._runtimeGameRenderer?this._runtimeGameRenderer.getPIXIRenderer():null;if(!t)return;const e=this._runtimeScene.getGame();this._pixiContainer.scale.x=t.width/e.getGameResolutionWidth(),this._pixiContainer.scale.y=t.height/e.getGameResolutionHeight();for(const r of this._runtimeScene._orderedLayers)r.getRenderer().onGameResolutionResized()}onSceneUnloaded(){}render(){const t=this._runtimeGameRenderer;if(!t)return;const e=t.getPIXIRenderer();if(!e)return;const r=this._threeRenderer;if(this._layerRenderingMetrics.rendered2DLayersCount=0,this._layerRenderingMetrics.rendered3DLayersCount=0,r){r.info.autoReset=!1,r.info.reset();let n=!0,s=!0;r.resetState();for(let u=0;u<this._runtimeScene._orderedLayers.length;++u){const d=this._runtimeScene._orderedLayers[u];if(!d.isVisible())continue;const i=d.getRenderer(),c=d.getRenderingType(),m=i.has3DObjects();if(c===o.RuntimeLayerRenderingType.TWO_D||!m){s&&(r.resetState(),e.reset()),n&&(e.backgroundColor=this._runtimeScene.getBackgroundColor(),e.backgroundAlpha=1,e.clear(),n=!1),d.isLightingLayer()&&i.renderOnPixiRenderTexture(e);const a=d.isLightingLayer()&&i.getLightingSprite()||i.getRendererObject();e.render(a,{clear:!1}),this._layerRenderingMetrics.rendered2DLayersCount++,s=!1}else{const a=i.getThreeScene(),h=i.getThreeCamera();if(a&&h){if(c===o.RuntimeLayerRenderingType.TWO_D_PLUS_THREE_D){const g=i.has2DObjects();g&&(s&&(r.resetState(),e.reset()),i.renderOnPixiRenderTexture(e),i.updateThreePlaneTextureFromPixiRenderTexture(r,e),this._layerRenderingMetrics.rendered2DLayersCount++,s=!1),i.show2DRenderingPlane(g)}s||(e.reset(),r.resetState()),n?(r.setClearColor(this._runtimeScene.getBackgroundColor()),r.resetState(),r.clear(),a.background=new THREE.Color(this._runtimeScene.getBackgroundColor()),n=!1):a.background=null,r.clearDepth(),r.render(a,h),this._layerRenderingMetrics.rendered3DLayersCount++,s=!0}}}const R=this._runtimeScene.getDebuggerRenderer().getRendererObject();R&&(r.resetState(),e.reset(),e.render(R),s=!1),s||e.reset()}else{for(const n of this._runtimeScene._orderedLayers)n.isLightingLayer()&&n.getRenderer().renderOnPixiRenderTexture(e);e.backgroundColor=this._runtimeScene.getBackgroundColor(),e.render(this._pixiContainer),this._layerRenderingMetrics.rendered2DLayersCount++}if(this._showCursorAtNextRender){const n=t.getCanvas();n&&(n.style.cursor=""),this._showCursorAtNextRender=!1}}_renderProfileText(){const t=this._runtimeScene.getProfiler();if(!t)return;this._profilerText||(this._profilerText=new l.Text(" ",{align:"left",stroke:"#FFF",strokeThickness:1}),this._pixiContainer.addChild(this._profilerText));const e=t.getFramesAverageMeasures(),r=[];o.Profiler.getProfilerSectionTexts("All",e,r),this._profilerText.text=r.join(`
2
+ `)}hideCursor(){this._showCursorAtNextRender=!1;const t=this._runtimeGameRenderer?this._runtimeGameRenderer.getCanvas():null;t&&(t.style.cursor="none")}showCursor(){this._showCursorAtNextRender=!0}getPIXIContainer(){return this._pixiContainer}getRendererObject(){return this._pixiContainer}get3DRendererObject(){return null}getPIXIRenderer(){return this._runtimeGameRenderer?this._runtimeGameRenderer.getPIXIRenderer():null}setLayerIndex(t,e){const r=t.getRenderer();let n=r.getRendererObject();t.isLightingLayer()&&(n=r.getLightingSprite()),n&&this._pixiContainer.children.indexOf(n)!==e&&(this._pixiContainer.removeChild(n),this._pixiContainer.addChildAt(n,e))}}o.RuntimeScenePixiRenderer=_,o.RuntimeSceneRenderer=o.RuntimeScenePixiRenderer})(gdjs||={});
3
+ //# sourceMappingURL=runtimescene-pixi-renderer.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../GDevelop/GDJS/Runtime/pixi-renderers/runtimescene-pixi-renderer.ts"],
4
+ "sourcesContent": ["namespace gdjs {\n import PIXI = GlobalPIXIModule.PIXI;\n\n /**\n * The renderer for a gdjs.RuntimeScene using Pixi.js.\n */\n export class RuntimeScenePixiRenderer\n implements gdjs.RuntimeInstanceContainerPixiRenderer {\n private _runtimeGameRenderer: gdjs.RuntimeGamePixiRenderer | null;\n private _runtimeScene: gdjs.RuntimeScene;\n private _pixiContainer: PIXI.Container;\n private _profilerText: PIXI.Text | null = null;\n private _showCursorAtNextRender: boolean = false;\n private _threeRenderer: THREE.WebGLRenderer | null = null;\n private _layerRenderingMetrics: {\n rendered2DLayersCount: number;\n rendered3DLayersCount: number;\n } = {\n rendered2DLayersCount: 0,\n rendered3DLayersCount: 0,\n };\n\n constructor(\n runtimeScene: gdjs.RuntimeScene,\n runtimeGameRenderer: gdjs.RuntimeGamePixiRenderer | null\n ) {\n this._runtimeGameRenderer = runtimeGameRenderer;\n this._runtimeScene = runtimeScene;\n this._pixiContainer = new PIXI.Container();\n\n // Contains the layers of the scene (and, optionally, debug PIXI objects).\n this._pixiContainer.sortableChildren = true;\n\n this._threeRenderer = this._runtimeGameRenderer\n ? this._runtimeGameRenderer.getThreeRenderer()\n : null;\n }\n\n onGameResolutionResized() {\n const pixiRenderer = this._runtimeGameRenderer\n ? this._runtimeGameRenderer.getPIXIRenderer()\n : null;\n if (!pixiRenderer) {\n return;\n }\n const runtimeGame = this._runtimeScene.getGame();\n\n // TODO (3D): should this be done for each individual layer?\n // Especially if we remove _pixiContainer entirely.\n this._pixiContainer.scale.x =\n pixiRenderer.width / runtimeGame.getGameResolutionWidth();\n this._pixiContainer.scale.y =\n pixiRenderer.height / runtimeGame.getGameResolutionHeight();\n\n for (const runtimeLayer of this._runtimeScene._orderedLayers) {\n runtimeLayer.getRenderer().onGameResolutionResized();\n }\n }\n\n onSceneUnloaded() {\n // TODO (3D): call the method with the same name on RuntimeLayers so they can dispose?\n }\n\n render() {\n const runtimeGameRenderer = this._runtimeGameRenderer;\n if (!runtimeGameRenderer) return;\n\n const pixiRenderer = runtimeGameRenderer.getPIXIRenderer();\n if (!pixiRenderer) return;\n\n const threeRenderer = this._threeRenderer;\n\n this._layerRenderingMetrics.rendered2DLayersCount = 0;\n this._layerRenderingMetrics.rendered3DLayersCount = 0;\n\n if (threeRenderer) {\n // Layered 2D, 3D or 2D+3D rendering.\n threeRenderer.info.autoReset = false;\n threeRenderer.info.reset();\n\n /** Useful to render the background color. */\n let isFirstRender = true;\n\n /**\n * true if the last layer rendered 3D objects using Three.js, false otherwise.\n * Useful to avoid needlessly resetting the WebGL states between layers (which can be expensive).\n */\n let lastRenderWas3D = true;\n\n // Even if no rendering at all has been made already, setting up the Three.js/PixiJS renderers\n // might have changed some WebGL states already. Reset the state for the very first frame.\n // And, out of caution, keep doing it for every frame.\n // TODO (3D): optimization - check if this can be done only on the very first frame.\n threeRenderer.resetState();\n\n // Render each layer one by one.\n for (let i = 0; i < this._runtimeScene._orderedLayers.length; ++i) {\n const runtimeLayer = this._runtimeScene._orderedLayers[i];\n if (!runtimeLayer.isVisible()) continue;\n\n const runtimeLayerRenderer = runtimeLayer.getRenderer();\n const runtimeLayerRenderingType = runtimeLayer.getRenderingType();\n const layerHas3DObjectsToRender = runtimeLayerRenderer.has3DObjects();\n if (\n runtimeLayerRenderingType ===\n gdjs.RuntimeLayerRenderingType.TWO_D ||\n !layerHas3DObjectsToRender\n ) {\n // Render a layer with 2D rendering (PixiJS) only if layer is configured as is\n // or if there is no 3D object to render.\n\n if (lastRenderWas3D) {\n // Ensure the state is clean for PixiJS to render.\n threeRenderer.resetState();\n pixiRenderer.reset();\n }\n\n if (isFirstRender) {\n // Render the background color.\n pixiRenderer.backgroundColor = this._runtimeScene.getBackgroundColor();\n pixiRenderer.backgroundAlpha = 1;\n pixiRenderer.clear();\n\n isFirstRender = false;\n }\n\n if (runtimeLayer.isLightingLayer()) {\n // Render the lights on the render texture used then by the lighting Sprite.\n runtimeLayerRenderer.renderOnPixiRenderTexture(pixiRenderer);\n }\n\n // TODO (2d lights): refactor to remove the need for `getLightingSprite`.\n const pixiContainer =\n (runtimeLayer.isLightingLayer() &&\n runtimeLayerRenderer.getLightingSprite()) ||\n runtimeLayerRenderer.getRendererObject();\n\n pixiRenderer.render(pixiContainer, { clear: false });\n this._layerRenderingMetrics.rendered2DLayersCount++;\n\n lastRenderWas3D = false;\n } else {\n // Render a layer with 3D rendering, and possibly some 2D rendering too.\n const threeScene = runtimeLayerRenderer.getThreeScene();\n const threeCamera = runtimeLayerRenderer.getThreeCamera();\n\n // Render the 3D objects of this layer.\n if (threeScene && threeCamera) {\n // TODO (3D) - optimization: do this at the beginning for all layers that are 2d+3d?\n // So the second pass is clearer (just rendering 2d or 3d layers without doing PixiJS renders in between).\n if (\n runtimeLayerRenderingType ===\n gdjs.RuntimeLayerRenderingType.TWO_D_PLUS_THREE_D\n ) {\n const layerHas2DObjectsToRender = runtimeLayerRenderer.has2DObjects();\n\n if (layerHas2DObjectsToRender) {\n if (lastRenderWas3D) {\n // Ensure the state is clean for PixiJS to render.\n threeRenderer.resetState();\n pixiRenderer.reset();\n }\n\n // Do the rendering of the PixiJS objects of the layer on the render texture.\n // Then, update the texture of the plane showing the PixiJS rendering,\n // so that the 2D rendering made by PixiJS can be shown in the 3D world.\n runtimeLayerRenderer.renderOnPixiRenderTexture(pixiRenderer);\n runtimeLayerRenderer.updateThreePlaneTextureFromPixiRenderTexture(\n // The renderers are needed to find the internal WebGL texture.\n threeRenderer,\n pixiRenderer\n );\n this._layerRenderingMetrics.rendered2DLayersCount++;\n\n lastRenderWas3D = false;\n }\n runtimeLayerRenderer.show2DRenderingPlane(\n layerHas2DObjectsToRender\n );\n }\n\n if (!lastRenderWas3D) {\n // It's important to reset the internal WebGL state of PixiJS, then Three.js\n // to ensure the 3D rendering is made properly by Three.js\n pixiRenderer.reset();\n threeRenderer.resetState();\n }\n\n if (isFirstRender) {\n // Render the background color.\n threeRenderer.setClearColor(\n this._runtimeScene.getBackgroundColor()\n );\n threeRenderer.resetState();\n threeRenderer.clear();\n threeScene.background = new THREE.Color(\n this._runtimeScene.getBackgroundColor()\n );\n\n isFirstRender = false;\n } else {\n // It's important to set the background to null, as maybe the first rendered\n // layer has changed and so the Three.js scene background must be reset.\n threeScene.background = null;\n }\n\n // Clear the depth as each layer is independent and display on top of the previous one,\n // even 3D objects.\n threeRenderer.clearDepth();\n threeRenderer.render(threeScene, threeCamera);\n this._layerRenderingMetrics.rendered3DLayersCount++;\n\n lastRenderWas3D = true;\n }\n }\n }\n\n const debugContainer = this._runtimeScene\n .getDebuggerRenderer()\n .getRendererObject();\n\n if (debugContainer) {\n threeRenderer.resetState();\n pixiRenderer.reset();\n pixiRenderer.render(debugContainer);\n lastRenderWas3D = false;\n }\n\n if (!lastRenderWas3D) {\n // Out of caution, reset the WebGL states from PixiJS to start again\n // with a 3D rendering on the next frame.\n pixiRenderer.reset();\n }\n\n // Uncomment to display some debug metrics from Three.js.\n // console.log(threeRenderer.info);\n } else {\n // 2D only rendering.\n\n // Render lights in render textures first.\n for (const runtimeLayer of this._runtimeScene._orderedLayers) {\n if (runtimeLayer.isLightingLayer()) {\n // Render the lights on the render texture used then by the lighting Sprite.\n const runtimeLayerRenderer = runtimeLayer.getRenderer();\n runtimeLayerRenderer.renderOnPixiRenderTexture(pixiRenderer);\n }\n }\n\n // this._renderProfileText(); //Uncomment to display profiling times\n\n // Render all the layers then.\n // TODO: replace by a loop like in 3D?\n pixiRenderer.backgroundColor = this._runtimeScene.getBackgroundColor();\n pixiRenderer.render(this._pixiContainer);\n this._layerRenderingMetrics.rendered2DLayersCount++;\n }\n\n // synchronize showing the cursor with rendering (useful to reduce\n // blinking while switching from in-game cursor)\n if (this._showCursorAtNextRender) {\n const canvas = runtimeGameRenderer.getCanvas();\n if (canvas) canvas.style.cursor = '';\n this._showCursorAtNextRender = false;\n }\n\n // Uncomment to check the number of 2D&3D rendering done\n // console.log(this._layerRenderingMetrics);\n }\n\n _renderProfileText() {\n const profiler = this._runtimeScene.getProfiler();\n if (!profiler) {\n return;\n }\n if (!this._profilerText) {\n this._profilerText = new PIXI.Text(' ', {\n align: 'left',\n stroke: '#FFF',\n strokeThickness: 1,\n });\n\n // Add on top of all layers:\n this._pixiContainer.addChild(this._profilerText);\n }\n const average = profiler.getFramesAverageMeasures();\n const outputs = [];\n gdjs.Profiler.getProfilerSectionTexts('All', average, outputs);\n this._profilerText.text = outputs.join('\\n');\n }\n\n hideCursor(): void {\n this._showCursorAtNextRender = false;\n\n const canvas = this._runtimeGameRenderer\n ? this._runtimeGameRenderer.getCanvas()\n : null;\n if (canvas) canvas.style.cursor = 'none';\n }\n\n showCursor(): void {\n this._showCursorAtNextRender = true;\n }\n\n getPIXIContainer() {\n return this._pixiContainer;\n }\n\n getRendererObject() {\n return this._pixiContainer;\n }\n\n get3DRendererObject() {\n // There is no notion of a container for all 3D objects. Each 3D object is\n // added to their layer container.\n return null;\n }\n\n /** @deprecated use `runtimeGame.getRenderer().getPIXIRenderer()` instead */\n getPIXIRenderer() {\n return this._runtimeGameRenderer\n ? this._runtimeGameRenderer.getPIXIRenderer()\n : null;\n }\n\n setLayerIndex(layer: gdjs.RuntimeLayer, index: float): void {\n const layerPixiRenderer: gdjs.LayerPixiRenderer = layer.getRenderer();\n let layerPixiObject:\n | PIXI.Container\n | PIXI.Sprite\n | null = layerPixiRenderer.getRendererObject();\n if (layer.isLightingLayer()) {\n // TODO (2d lights): refactor to remove the need for `getLightingSprite`.\n layerPixiObject = layerPixiRenderer.getLightingSprite();\n }\n if (!layerPixiObject) {\n return;\n }\n if (this._pixiContainer.children.indexOf(layerPixiObject) === index) {\n return;\n }\n this._pixiContainer.removeChild(layerPixiObject);\n this._pixiContainer.addChildAt(layerPixiObject, index);\n }\n }\n\n // Register the class to let the engine use it.\n export type RuntimeSceneRenderer = gdjs.RuntimeScenePixiRenderer;\n export const RuntimeSceneRenderer = gdjs.RuntimeScenePixiRenderer;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["gdjs", "PIXI", "RuntimeScenePixiRenderer", "runtimeScene", "runtimeGameRenderer", "pixiRenderer", "runtimeGame", "runtimeLayer", "threeRenderer", "isFirstRender", "lastRenderWas3D", "i", "runtimeLayerRenderer", "runtimeLayerRenderingType", "layerHas3DObjectsToRender", "pixiContainer", "threeScene", "threeCamera", "layerHas2DObjectsToRender", "debugContainer", "canvas", "profiler", "average", "outputs", "layer", "index", "layerPixiRenderer", "layerPixiObject"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var gdjs;(r=>{const s=GlobalPIXIModule.PIXI;class a{_object;_spriteDirty=!0;_textureDirty=!0;_sprite;_cachedWidth=0;_cachedHeight=0;constructor(t,e){this._object=t,this._sprite=new s.Sprite(e.getGame().getImageManager().getInvalidPIXITexture());const i=e.getLayer("");i&&i.getRenderer().addRendererObject(this._sprite,t.getZOrder())}reinitialize(t,e){this._object=t,this._spriteDirty=!0,this._textureDirty=!0,this._sprite.tint=16777215;const i=e.getLayer("");i&&i.getRenderer().addRendererObject(this._sprite,t.getZOrder())}getRendererObject(){return this._sprite}_updatePIXISprite(){this._object._animationFrame!==null?(this._sprite.anchor.x=this._object._animationFrame.center.x/this._sprite.texture.frame.width,this._sprite.anchor.y=this._object._animationFrame.center.y/this._sprite.texture.frame.height,this._sprite.position.x=this._object.x+(this._object._animationFrame.center.x-this._object._animationFrame.origin.x)*Math.abs(this._object._scaleX),this._sprite.position.y=this._object.y+(this._object._animationFrame.center.y-this._object._animationFrame.origin.y)*Math.abs(this._object._scaleY),this._sprite.rotation=r.toRad(this._object.angle),this._sprite.visible=!this._object.hidden,this._sprite.blendMode=this._object._blendMode,this._sprite.alpha=this._object.opacity/255,this._sprite.scale.x=this._object._scaleX,this._sprite.scale.y=this._object._scaleY,this._cachedWidth=Math.abs(this._sprite.width),this._cachedHeight=Math.abs(this._sprite.height)):(this._sprite.visible=!1,this._sprite.alpha=0,this._cachedWidth=0,this._cachedHeight=0),this._spriteDirty=!1}ensureUpToDate(){this._spriteDirty&&this._updatePIXISprite()}updateFrame(t){this._spriteDirty=!0,this._sprite.texture=t.texture}update(){this._spriteDirty=!0}updateX(){const t=this._object._animationFrame;this._sprite.position.x=this._object.x+(t.center.x-t.origin.x)*Math.abs(this._object._scaleX)}updateY(){const t=this._object._animationFrame;this._sprite.position.y=this._object.y+(t.center.y-t.origin.y)*Math.abs(this._object._scaleY)}updateAngle(){this._sprite.rotation=r.toRad(this._object.angle)}updateOpacity(){this._sprite.alpha=this._object.opacity/255}updateVisibility(){this._sprite.visible=!this._object.hidden}setColor(t){const e=t.split(";");e.length<3||(this._sprite.tint=r.rgbToHexNumber(parseInt(e[0],10),parseInt(e[1],10),parseInt(e[2],10)))}getColor(){const t=s.utils.hex2rgb(this._sprite.tint);return Math.floor(t[0]*255)+";"+Math.floor(t[1]*255)+";"+Math.floor(t[2]*255)}getWidth(){return this._spriteDirty&&this._updatePIXISprite(),this._cachedWidth}getHeight(){return this._spriteDirty&&this._updatePIXISprite(),this._cachedHeight}getUnscaledWidth(){return this._sprite.texture.frame.width}getUnscaledHeight(){return this._sprite.texture.frame.height}static getAnimationFrame(t,e){return t.getPIXITexture(e)}static getAnimationFrameWidth(t){return t.width}static getAnimationFrameHeight(t){return t.height}}r.SpriteRuntimeObjectPixiRenderer=a,r.SpriteRuntimeObjectRenderer=a})(gdjs||={});
2
+ //# sourceMappingURL=spriteruntimeobject-pixi-renderer.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../GDevelop/GDJS/Runtime/pixi-renderers/spriteruntimeobject-pixi-renderer.ts"],
4
+ "sourcesContent": ["namespace gdjs {\n import PIXI = GlobalPIXIModule.PIXI;\n\n /**\n * The renderer for a gdjs.SpriteRuntimeObject using Pixi.js.\n */\n export class SpriteRuntimeObjectPixiRenderer {\n _object: gdjs.SpriteRuntimeObject;\n _spriteDirty: boolean = true;\n _textureDirty: boolean = true;\n _sprite: PIXI.Sprite;\n _cachedWidth: float = 0;\n _cachedHeight: float = 0;\n\n /**\n * @param runtimeObject The object\n * @param instanceContainer The scene\n */\n constructor(\n runtimeObject: gdjs.SpriteRuntimeObject,\n instanceContainer: gdjs.RuntimeInstanceContainer\n ) {\n this._object = runtimeObject;\n this._sprite = new PIXI.Sprite(\n instanceContainer.getGame().getImageManager().getInvalidPIXITexture()\n );\n const layer = instanceContainer.getLayer('');\n if (layer) {\n layer\n .getRenderer()\n .addRendererObject(this._sprite, runtimeObject.getZOrder());\n }\n }\n\n reinitialize(\n runtimeObject: gdjs.SpriteRuntimeObject,\n instanceContainer: gdjs.RuntimeInstanceContainer\n ) {\n this._object = runtimeObject;\n this._spriteDirty = true;\n this._textureDirty = true;\n this._sprite.tint = 0xffffff;\n const layer = instanceContainer.getLayer('');\n if (layer) {\n layer\n .getRenderer()\n .addRendererObject(this._sprite, runtimeObject.getZOrder());\n }\n }\n\n getRendererObject() {\n return this._sprite;\n }\n\n /**\n * Update the internal PIXI.Sprite position, angle...\n */\n _updatePIXISprite() {\n if (this._object._animationFrame !== null) {\n this._sprite.anchor.x =\n this._object._animationFrame.center.x /\n this._sprite.texture.frame.width;\n this._sprite.anchor.y =\n this._object._animationFrame.center.y /\n this._sprite.texture.frame.height;\n this._sprite.position.x =\n this._object.x +\n (this._object._animationFrame.center.x -\n this._object._animationFrame.origin.x) *\n Math.abs(this._object._scaleX);\n this._sprite.position.y =\n this._object.y +\n (this._object._animationFrame.center.y -\n this._object._animationFrame.origin.y) *\n Math.abs(this._object._scaleY);\n this._sprite.rotation = gdjs.toRad(this._object.angle);\n this._sprite.visible = !this._object.hidden;\n this._sprite.blendMode = this._object._blendMode;\n this._sprite.alpha = this._object.opacity / 255;\n this._sprite.scale.x = this._object._scaleX;\n this._sprite.scale.y = this._object._scaleY;\n this._cachedWidth = Math.abs(this._sprite.width);\n this._cachedHeight = Math.abs(this._sprite.height);\n } else {\n this._sprite.visible = false;\n this._sprite.alpha = 0;\n this._cachedWidth = 0;\n this._cachedHeight = 0;\n }\n this._spriteDirty = false;\n }\n\n /**\n * Call this to make sure the sprite is ready to be rendered.\n */\n ensureUpToDate() {\n if (this._spriteDirty) {\n this._updatePIXISprite();\n }\n }\n\n /**\n * Update the internal texture of the PIXI sprite.\n */\n updateFrame(animationFrame): void {\n this._spriteDirty = true;\n this._sprite.texture = animationFrame.texture;\n }\n\n update(): void {\n this._spriteDirty = true;\n }\n\n updateX(): void {\n const animationFrame = this._object\n ._animationFrame as SpriteAnimationFrame;\n this._sprite.position.x =\n this._object.x +\n (animationFrame.center.x - animationFrame.origin.x) *\n Math.abs(this._object._scaleX);\n }\n\n updateY(): void {\n const animationFrame = this._object\n ._animationFrame as SpriteAnimationFrame;\n this._sprite.position.y =\n this._object.y +\n (animationFrame.center.y - animationFrame.origin.y) *\n Math.abs(this._object._scaleY);\n }\n\n updateAngle(): void {\n this._sprite.rotation = gdjs.toRad(this._object.angle);\n }\n\n updateOpacity(): void {\n this._sprite.alpha = this._object.opacity / 255;\n }\n\n updateVisibility(): void {\n this._sprite.visible = !this._object.hidden;\n }\n\n setColor(rgbColor): void {\n const colors = rgbColor.split(';');\n if (colors.length < 3) {\n return;\n }\n this._sprite.tint = gdjs.rgbToHexNumber(\n parseInt(colors[0], 10),\n parseInt(colors[1], 10),\n parseInt(colors[2], 10)\n );\n }\n\n getColor() {\n const rgb = PIXI.utils.hex2rgb(this._sprite.tint);\n return (\n Math.floor(rgb[0] * 255) +\n ';' +\n Math.floor(rgb[1] * 255) +\n ';' +\n Math.floor(rgb[2] * 255)\n );\n }\n\n getWidth(): float {\n if (this._spriteDirty) {\n this._updatePIXISprite();\n }\n return this._cachedWidth;\n }\n\n getHeight(): float {\n if (this._spriteDirty) {\n this._updatePIXISprite();\n }\n return this._cachedHeight;\n }\n\n getUnscaledWidth(): float {\n return this._sprite.texture.frame.width;\n }\n\n getUnscaledHeight(): float {\n return this._sprite.texture.frame.height;\n }\n\n static getAnimationFrame(imageManager, imageName) {\n return imageManager.getPIXITexture(imageName);\n }\n\n static getAnimationFrameWidth(pixiTexture) {\n return pixiTexture.width;\n }\n\n static getAnimationFrameHeight(pixiTexture) {\n return pixiTexture.height;\n }\n }\n\n // Register the class to let the engine use it.\n export const SpriteRuntimeObjectRenderer = SpriteRuntimeObjectPixiRenderer;\n export type SpriteRuntimeObjectRenderer = SpriteRuntimeObjectPixiRenderer;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["gdjs", "PIXI", "SpriteRuntimeObjectPixiRenderer", "runtimeObject", "instanceContainer", "layer", "animationFrame", "rgbColor", "colors", "rgb", "imageManager", "imageName", "pixiTexture"]
7
+ }