gdcore-tools 1.0.5 → 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 (603) 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/WrappedGD.js +159 -138
  580. package/src/downloadGD.js +0 -70
  581. package/src/index.js +21 -14
  582. package/examples/create-objects-from-json/assets/Blank button.png +0 -0
  583. package/examples/create-objects-from-json/game.json +0 -258
  584. package/examples/create-objects-from-json/index.js +0 -50
  585. package/examples/create-objects-from-json/mylist.json +0 -7
  586. package/examples/export-game/game.json +0 -205
  587. package/examples/export-game/index.js +0 -13
  588. package/package-lock.json +0 -223
  589. package/src/CaseSensitiveSlug.js +0 -34
  590. package/src/EventsFunctionsExtensionsLoader/LocalEventsFunctionCodeWriter.js +0 -56
  591. package/src/EventsFunctionsExtensionsLoader/MetadataDeclarationHelpers.js +0 -489
  592. package/src/EventsFunctionsExtensionsLoader/index.js +0 -451
  593. package/src/JsExtensionsLoader/LocalJsExtensionsFinder.js +0 -42
  594. package/src/JsExtensionsLoader/LocalJsExtensionsLoader.js +0 -57
  595. package/src/JsExtensionsLoader/index.js +0 -101
  596. package/src/LocalFileSystem.js +0 -158
  597. package/src/LocalProjectOpener.js +0 -46
  598. package/src/LocalProjectWriter.js +0 -96
  599. package/src/MapFor.js +0 -46
  600. package/src/ObjectSplitter.js +0 -187
  601. package/src/Serializer.js +0 -35
  602. package/src/build.js +0 -51
  603. package/src/runtime-files-list.js +0 -143
@@ -0,0 +1,74 @@
1
+ /*!
2
+ * @pixi/tilemap - v3.2.2
3
+ * Compiled Fri, 22 Oct 2021 12:27:49 UTC
4
+ *
5
+ * @pixi/tilemap is licensed under the MIT License.
6
+ * http://www.opensource.org/licenses/mit-license
7
+ *
8
+ * Copyright 2019-2020, Ivan Popelyshev, All Rights Reserved
9
+ */(void 0).PIXI=(void 0).PIXI||{},(void 0).PIXI.tilemap=(void 0).PIXI.tilemap||{},function(p,P){typeof exports=="object"&&typeof module<"u"?P(exports,require("@pixi/display"),require("@pixi/core"),require("@pixi/constants"),require("@pixi/math"),require("@pixi/utils")):typeof define=="function"&&define.amd?define(["exports","@pixi/display","@pixi/core","@pixi/constants","@pixi/math","@pixi/utils"],P):(p=typeof globalThis<"u"?globalThis:p||self,P(p._pixi_tilemap={},p.PIXI,p.PIXI,p.PIXI,p.PIXI,p.PIXI.utils))}(void 0,function(p,P,X,V,b,nt){"use strict";class B{__init(){this.tileAnim=[0,0]}__init2(){this.dontUseTransform=!1}constructor(t){B.prototype.__init.call(this),B.prototype.__init2.call(this),this.renderer=t,this.tileAnim=[0,0]}static getInstance(t){return t.plugins.tilemap||(t.plugins.tilemap=new B(t)),t.plugins.tilemap}}const I={TEXTURES_PER_TILEMAP:16,TEXTILE_DIMEN:1024,TEXTILE_UNITS:1,TEXTILE_SCALE_MODE:V.SCALE_MODES.LINEAR,use32bitIndex:!1,DO_CLEAR:!0,get maxTextures(){return this.MAX_TEXTURES},set maxTextures(h){this.MAX_TEXTURES=h},get boundSize(){return this.TEXTURE_TILE_DIMEN},set boundSize(h){this.TILE_TEXTURE_DIMEN=h},get boundCountPerBuffer(){return this.TEXTILE_UNITS},set boundCountPerBuffer(h){this.TEXTILE_UNITS=h}},rt=I;function W(h,t){return h??t()}var c;(function(h){h[h.U=0]="U";const i=0+1;h[h.V=i]="V";const e=i+1;h[h.X=e]="X";const s=e+1;h[h.Y=s]="Y";const o=s+1;h[h.TILE_WIDTH=o]="TILE_WIDTH";const u=o+1;h[h.TILE_HEIGHT=u]="TILE_HEIGHT";const l=u+1;h[h.ROTATE=l]="ROTATE";const a=l+1;h[h.ANIM_X=a]="ANIM_X";const d=a+1;h[h.ANIM_Y=d]="ANIM_Y";const f=d+1;h[h.TEXTURE_INDEX=f]="TEXTURE_INDEX";const m=f+1;h[h.ANIM_COUNT_X=m]="ANIM_COUNT_X";const n=m+1;h[h.ANIM_COUNT_Y=n]="ANIM_COUNT_Y";const r=n+1;h[h.ANIM_DIVISOR=r]="ANIM_DIVISOR";const M=r+1;h[h.ALPHA=M]="ALPHA"})(c||(c={}));const L=Object.keys(c).length/2;class _ extends P.Container{__init(){this.shadowColor=new Float32Array([0,0,0,.5])}__init2(){this._globalMat=null}__init3(){this.tileAnim=null}__init4(){this.modificationMarker=0}__init5(){this.offsetX=0}__init6(){this.offsetY=0}__init7(){this.compositeParent=!1}__init8(){this.tilemapBounds=new P.Bounds}__init9(){this.hasAnimatedTile=!1}__init10(){this.pointsBuf=[]}constructor(t){super(),_.prototype.__init.call(this),_.prototype.__init2.call(this),_.prototype.__init3.call(this),_.prototype.__init4.call(this),_.prototype.__init5.call(this),_.prototype.__init6.call(this),_.prototype.__init7.call(this),_.prototype.__init8.call(this),_.prototype.__init9.call(this),_.prototype.__init10.call(this),_.prototype.__init11.call(this),_.prototype.__init12.call(this),_.prototype.__init13.call(this),_.prototype.__init14.call(this),_.prototype.__init15.call(this),_.prototype.__init16.call(this),this.setTileset(t)}getTileset(){return this.tileset}setTileset(t=[]){Array.isArray(t)||(t=[t]);for(let i=0;i<t.length;i++)t[i].baseTexture&&(t[i]=t[i].baseTexture);return this.tileset=t,this}clear(){return this.pointsBuf.length=0,this.modificationMarker=0,this.tilemapBounds.clear(),this.hasAnimatedTile=!1,this}tile(t,i,e,s={}){let o,u=-1;if(typeof t=="number")u=t,o=this.tileset[u];else{let x;typeof t=="string"?x=X.Texture.from(t):x=t;const F=this.tileset;for(let g=0;g<F.length;g++)if(F[g]===x.castToBaseTexture()){u=g;break}"baseTexture"in x&&(s.u=W(s.u,()=>x.frame.x),s.v=W(s.v,()=>x.frame.y),s.tileWidth=W(s.tileWidth,()=>x.orig.width),s.tileHeight=W(s.tileHeight,()=>x.orig.height)),o=x.castToBaseTexture()}if(!o||u<0)return console.error("The tile texture was not found in the tilemap tileset."),this;const{u:l=0,v:a=0,tileWidth:d=o.realWidth,tileHeight:f=o.realHeight,animX:m=0,animY:n=0,rotate:r=0,animCountX:M=1024,animCountY:R=1024,animDivisor:k=1,alpha:E=1}=s,A=this.pointsBuf;return this.hasAnimatedTile=this.hasAnimatedTile||m>0||n>0,A.push(l),A.push(a),A.push(i),A.push(e),A.push(d),A.push(f),A.push(r),A.push(m|0),A.push(n|0),A.push(u),A.push(M),A.push(R),A.push(k),A.push(E),this.tilemapBounds.addFramePad(i,e,i+d,e+f,0,0),this}tileRotate(t){const i=this.pointsBuf;i[i.length-(L-c.TEXTURE_INDEX)]=t}tileAnimX(t,i){const e=this.pointsBuf;e[e.length-(L-c.ANIM_X)]=t,e[e.length-(L-c.ANIM_COUNT_X)]=i}tileAnimY(t,i){const e=this.pointsBuf;e[e.length-(L-c.ANIM_Y)]=t,e[e.length-(L-c.ANIM_COUNT_Y)]=i}tileAnimDivisor(t){const i=this.pointsBuf;i[i.length-(L-c.ANIM_DIVISOR)]=t}tileAlpha(t){const i=this.pointsBuf;i[i.length-(L-c.ALPHA)]=t}__init11(){this.renderCanvas=t=>{const i=B.getInstance(t);if(i&&!i.dontUseTransform){const e=this.worldTransform;t.context.setTransform(e.a,e.b,e.c,e.d,e.tx*t.resolution,e.ty*t.resolution)}this.renderCanvasCore(t)}}renderCanvasCore(t){if(this.tileset.length===0)return;const i=this.pointsBuf,e=this.tileAnim||t.plugins.tilemap&&t.plugins.tilemap.tileAnim;t.context.fillStyle="#000000";for(let s=0,o=i.length;s<o;s+=L){let u=i[s+c.U],l=i[s+c.V];const a=i[s+c.X],d=i[s+c.Y],f=i[s+c.TILE_WIDTH],m=i[s+c.TILE_HEIGHT];u+=i[s+c.ANIM_X]*e[0],l+=i[s+c.ANIM_Y]*e[1];const n=i[s+c.TEXTURE_INDEX],r=i[s+c.ALPHA];n>=0&&this.tileset[n]?(t.context.globalAlpha=r,t.context.drawImage(this.tileset[n].getDrawableSource(),u,l,f,m,a,d,f,m)):(t.context.globalAlpha=.5,t.context.fillRect(a,d,f,m)),t.context.globalAlpha=1}}__init12(){this.vbId=0}__init13(){this.vb=null}__init14(){this.vbBuffer=null}__init15(){this.vbArray=null}__init16(){this.vbInts=null}destroyVb(){this.vb&&(this.vb.destroy(),this.vb=null)}render(t){const i=t.plugins.tilemap,e=i.getShader();t.batch.setObjectRenderer(i),this._globalMat=e.uniforms.projTransMatrix,t.globalUniforms.uniforms.projectionMatrix.copyTo(this._globalMat).append(this.worldTransform),e.uniforms.shadowColor=this.shadowColor,e.uniforms.animationFrame=this.tileAnim||i.tileAnim,this.renderWebGLCore(t,i)}renderWebGLCore(t,i){const e=this.pointsBuf;if(e.length===0)return;const s=e.length/L,o=i.getShader(),u=this.tileset;if(u.length===0)return;i.bindTileTextures(t,u),t.shader.bind(o,!1);let l=this.vb;l||(l=i.createVb(),this.vb=l,this.vbId=l.id,this.vbBuffer=null,this.modificationMarker=0),i.checkIndexBuffer(s,l);const a=I.TEXTILE_UNITS,d=l.getBuffer("aVertexPosition"),f=s*l.vertPerQuad;if(f!==0){if(this.modificationMarker!==f){this.modificationMarker=f;const m=l.stride*f;if(!this.vbBuffer||this.vbBuffer.byteLength<m){let E=l.stride;for(;E<m;)E*=2;this.vbBuffer=new ArrayBuffer(E),this.vbArray=new Float32Array(this.vbBuffer),this.vbInts=new Uint32Array(this.vbBuffer),d.update(this.vbBuffer)}const n=this.vbArray;let r=0,M=0,R=this.offsetX,k=this.offsetY;for(let E=0;E<e.length;E+=L){if(this.compositeParent){const w=e[E+c.TEXTURE_INDEX];a>1?(M=w>>2,R=this.offsetX*(w&1),k=this.offsetY*(w>>1&1)):(M=w,R=0,k=0)}const x=e[E+c.X],F=e[E+c.Y],g=e[E+c.TILE_WIDTH],N=e[E+c.TILE_HEIGHT],v=e[E+c.U]+R,y=e[E+c.V]+k;let T=e[E+c.ROTATE];const ft=e[E+c.ANIM_X],dt=e[E+c.ANIM_Y],pt=e[E+c.ANIM_COUNT_X]||1024,_t=e[E+c.ANIM_COUNT_Y]||1024,O=ft+pt*2048,j=dt+_t*2048,G=e[E+c.ANIM_DIVISOR],z=e[E+c.ALPHA];let $,K,Z,J,tt,it,et,st;if(T===0)$=v,K=y,Z=v+g,J=y,tt=v+g,it=y+N,et=v,st=y+N;else{let w=g/2,H=N/2;T%4!==0&&(w=N/2,H=g/2);const q=v+w,Q=y+H;T=b.groupD8.add(T,b.groupD8.NW),$=q+w*b.groupD8.uX(T),K=Q+H*b.groupD8.uY(T),T=b.groupD8.add(T,2),Z=q+w*b.groupD8.uX(T),J=Q+H*b.groupD8.uY(T),T=b.groupD8.add(T,2),tt=q+w*b.groupD8.uX(T),it=Q+H*b.groupD8.uY(T),T=b.groupD8.add(T,2),et=q+w*b.groupD8.uX(T),st=Q+H*b.groupD8.uY(T)}n[r++]=x,n[r++]=F,n[r++]=$,n[r++]=K,n[r++]=v+.5,n[r++]=y+.5,n[r++]=v+g-.5,n[r++]=y+N-.5,n[r++]=O,n[r++]=j,n[r++]=M,n[r++]=G,n[r++]=z,n[r++]=x+g,n[r++]=F,n[r++]=Z,n[r++]=J,n[r++]=v+.5,n[r++]=y+.5,n[r++]=v+g-.5,n[r++]=y+N-.5,n[r++]=O,n[r++]=j,n[r++]=M,n[r++]=G,n[r++]=z,n[r++]=x+g,n[r++]=F+N,n[r++]=tt,n[r++]=it,n[r++]=v+.5,n[r++]=y+.5,n[r++]=v+g-.5,n[r++]=y+N-.5,n[r++]=O,n[r++]=j,n[r++]=M,n[r++]=G,n[r++]=z,n[r++]=x,n[r++]=F+N,n[r++]=et,n[r++]=st,n[r++]=v+.5,n[r++]=y+.5,n[r++]=v+g-.5,n[r++]=y+N-.5,n[r++]=O,n[r++]=j,n[r++]=M,n[r++]=G,n[r++]=z}d.update(n)}t.geometry.bind(l,o),t.geometry.draw(V.DRAW_MODES.TRIANGLES,s*6,0)}}isModified(t){return!!(this.modificationMarker!==this.pointsBuf.length||t&&this.hasAnimatedTile)}clearModify(){this.modificationMarker=this.pointsBuf.length}_calculateBounds(){const{minX:t,minY:i,maxX:e,maxY:s}=this.tilemapBounds;this._bounds.addFrame(this.transform,t,i,e,s)}getLocalBounds(t){return this.children.length===0?this.tilemapBounds.getRectangle(t):super.getLocalBounds.call(this,t)}destroy(t){super.destroy(t),this.destroyVb()}addFrame(t,i,e,s,o){return this.tile(t,i,e,{animX:s,animY:o}),!0}addRect(t,i,e,s,o,u,l,a=0,d=0,f=0,m=1024,n=1024,r=1,M=1){return this.tile(t,s,o,{u:i,v:e,tileWidth:u,tileHeight:l,animX:a,animY:d,rotate:f,animCountX:m,animCountY:n,animDivisor:r,alpha:M})}}class D extends P.Container{__init(){this.tileAnim=null}__init2(){this.lastModifiedTilemap=null}__init3(){this.modificationMarker=0}__init4(){this.shadowColor=new Float32Array([0,0,0,.5])}__init5(){this._globalMat=null}constructor(t){super(),D.prototype.__init.call(this),D.prototype.__init2.call(this),D.prototype.__init3.call(this),D.prototype.__init4.call(this),D.prototype.__init5.call(this),D.prototype.__init6.call(this),this.tileset(t),this.texturesPerTilemap=I.TEXTURES_PER_TILEMAP}tileset(t){t||(t=[]);const i=this.texturesPerTilemap,e=this.children.length,s=Math.ceil(t.length/i);for(let o=0;o<Math.min(e,s);o++)this.children[o].setTileset(t.slice(o*i,(o+1)*i));for(let o=e;o<s;o++){const u=new _(t.slice(o*i,(o+1)*i));u.compositeParent=!0,u.offsetX=I.TEXTILE_DIMEN,u.offsetY=I.TEXTILE_DIMEN,this.addChild(u)}return this}clear(){for(let t=0;t<this.children.length;t++)this.children[t].clear();return this.modificationMarker=0,this}tileRotate(t){return this.lastModifiedTilemap&&this.lastModifiedTilemap.tileRotate(t),this}tileAnimX(t,i){return this.lastModifiedTilemap&&this.lastModifiedTilemap.tileAnimX(t,i),this}tileAnimY(t,i){return this.lastModifiedTilemap&&this.lastModifiedTilemap.tileAnimY(t,i),this}tileAnimDivisor(t){return this.lastModifiedTilemap&&this.lastModifiedTilemap.tileAnimDivisor(t),this}tile(t,i,e,s={}){let o=null;const u=this.children;if(this.lastModifiedTilemap=null,typeof t=="number"){const l=t/this.texturesPerTilemap>>0;let a=0;if(o=u[l],o)a=t%this.texturesPerTilemap;else{if(o=u[0],!o)return this;a=0}o.tile(a,i,e,s)}else{typeof t=="string"&&(t=X.Texture.from(t));for(let l=0;l<u.length;l++){const a=u[l],d=a.getTileset();for(let f=0;f<d.length;f++)if(d[f]===t.baseTexture){o=a;break}if(o)break}if(!o){for(let l=u.length-1;l>=0;l--){const a=u[l];if(a.getTileset().length<this.texturesPerTilemap){o=a,a.getTileset().push(t.baseTexture);break}}o||(o=new _(t.baseTexture),o.compositeParent=!0,o.offsetX=I.TEXTILE_DIMEN,o.offsetY=I.TEXTILE_DIMEN,this.addChild(o))}o.tile(t,i,e,s)}return this.lastModifiedTilemap=o,this}renderCanvas(t){if(!this.visible||this.worldAlpha<=0||!this.renderable)return;const i=B.getInstance(t);if(i&&!i.dontUseTransform){const s=this.worldTransform;t.context.setTransform(s.a,s.b,s.c,s.d,s.tx*t.resolution,s.ty*t.resolution)}const e=this.children;for(let s=0;s<e.length;s++){const o=e[s];o.tileAnim=this.tileAnim,o.renderCanvasCore(t)}}render(t){if(!this.visible||this.worldAlpha<=0||!this.renderable)return;const i=t.plugins.tilemap,e=i.getShader();t.batch.setObjectRenderer(i),this._globalMat=e.uniforms.projTransMatrix,t.globalUniforms.uniforms.projectionMatrix.copyTo(this._globalMat).append(this.worldTransform),e.uniforms.shadowColor=this.shadowColor,e.uniforms.animationFrame=this.tileAnim||i.tileAnim,t.shader.bind(e,!1);const s=this.children;for(let o=0;o<s.length;o++)s[o].renderWebGLCore(t,i)}isModified(t){const i=this.children;if(this.modificationMarker!==i.length)return!0;for(let e=0;e<i.length;e++)if(i[e].isModified(t))return!0;return!1}clearModify(){const t=this.children;this.modificationMarker=t.length;for(let i=0;i<t.length;i++)t[i].clearModify()}addFrame(t,i,e,s,o,u,l,a,d){return this.tile(t,i,e,{animX:s,animY:o,animCountX:u,animCountY:l,animDivisor:a,alpha:d})}addRect(t,i,e,s,o,u,l,a,d,f,m,n){const r=t/this.texturesPerTilemap>>0,M=t%this.texturesPerTilemap;return this.children[r]&&this.children[r].getTileset()?(this.lastModifiedTilemap=this.children[r],this.lastModifiedTilemap.addRect(M,i,e,s,o,u,l,a,d,f,m,n)):this.lastModifiedTilemap=null,this}__init6(){this.setBitmaps=this.tileset}get texPerChild(){return this.texturesPerTilemap}}class Y extends X.Resource{__init(){this.baseTexture=null}__init2(){this._clearBuffer=null}constructor(t=I){super(t.TEXTILE_DIMEN*2,t.TEXTILE_DIMEN*Math.ceil(t.TEXTILE_UNITS/2)),Y.prototype.__init.call(this),Y.prototype.__init2.call(this);const i=this.tiles=new Array(t.TEXTILE_UNITS);this.doClear=!!t.DO_CLEAR,this.tileDimen=t.TEXTILE_DIMEN;for(let e=0;e<t.TEXTILE_UNITS;e++)i[e]={dirtyId:0,x:t.TEXTILE_DIMEN*(e&1),y:t.TEXTILE_DIMEN*(e>>1),baseTexture:X.Texture.WHITE.baseTexture}}tile(t,i){const e=this.tiles[t];e.baseTexture!==i&&(e.baseTexture=i,this.baseTexture.update(),this.tiles[t].dirtyId=this.baseTexture.dirtyId)}bind(t){if(this.baseTexture)throw new Error("Only one baseTexture is allowed for this resource!");this.baseTexture=t,super.bind(t)}upload(t,i,e){const{gl:s}=t,{width:o,height:u}=this;s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.alphaMode===void 0||i.alphaMode===V.ALPHA_MODES.UNPACK),e.dirtyId<0&&(e.width=o,e.height=u,s.texImage2D(i.target,0,i.format,o,u,0,i.format,i.type,null));const l=this.doClear,a=this.tiles;l&&!this._clearBuffer&&(this._clearBuffer=new Uint8Array(I.TEXTILE_DIMEN*I.TEXTILE_DIMEN*4));for(let d=0;d<a.length;d++){const f=a[d],m=f.baseTexture;if(e.dirtyId>=this.tiles[d].dirtyId)continue;const n=m.resource;!m.valid||!n||!n.source||(l&&(m.width<this.tileDimen||m.height<this.tileDimen)&&s.texSubImage2D(i.target,0,f.x,f.y,this.tileDimen,this.tileDimen,i.format,i.type,this._clearBuffer),s.texSubImage2D(i.target,0,f.x,f.y,i.format,i.type,n.source))}return!0}}function at(h){let t="";t+=`
10
+ `,t+=`
11
+ `,t+="if(vTextureId <= -1.0) {",t+=`
12
+ color = shadowColor;`,t+=`
13
+ }`;for(let i=0;i<h;i++)t+=`
14
+ else `,i<h-1&&(t+=`if(textureId == ${i}.0)`),t+=`
15
+ {`,t+=`
16
+ color = texture2D(uSamplers[${i}], textureCoord * uSamplerSize[${i}]);`,t+=`
17
+ }`;return t+=`
18
+ `,t+=`
19
+ `,t}function ot(h,t){const i=[];for(let s=0;s<t;s++)i[s]=s;h.uniforms.uSamplers=i;const e=[];for(let s=0;s<t;s++)e.push(1/2048),e.push(1/2048);h.uniforms.uSamplerSize=e}function lt(h,t){return t.replace(/%count%/gi,`${h}`).replace(/%forloop%/gi,at(h))}const ht=`#version 100
20
+ precision highp float;
21
+ attribute vec2 aVertexPosition;
22
+ attribute vec2 aTextureCoord;
23
+ attribute vec4 aFrame;
24
+ attribute vec2 aAnim;
25
+ attribute float aAnimDivisor;
26
+ attribute float aTextureId;
27
+ attribute float aAlpha;
28
+
29
+ uniform mat3 projTransMatrix;
30
+ uniform vec2 animationFrame;
31
+
32
+ varying vec2 vTextureCoord;
33
+ varying float vTextureId;
34
+ varying vec4 vFrame;
35
+ varying float vAlpha;
36
+
37
+ void main(void)
38
+ {
39
+ gl_Position = vec4((projTransMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
40
+ vec2 animCount = floor((aAnim + 0.5) / 2048.0);
41
+ vec2 animFrameOffset = aAnim - animCount * 2048.0;
42
+ vec2 currentFrame = floor(animationFrame / aAnimDivisor);
43
+ vec2 animOffset = animFrameOffset * floor(mod(currentFrame + 0.5, animCount));
44
+
45
+ vTextureCoord = aTextureCoord + animOffset;
46
+ vFrame = aFrame + vec4(animOffset, animOffset);
47
+ vTextureId = aTextureId;
48
+ vAlpha = aAlpha;
49
+ }
50
+ `,ut=`#version 100
51
+ #ifdef GL_FRAGMENT_PRECISION_HIGH
52
+ precision highp float;
53
+ #else
54
+ precision mediump float;
55
+ #endif
56
+ varying vec2 vTextureCoord;
57
+ varying vec4 vFrame;
58
+ varying float vTextureId;
59
+ varying float vAlpha;
60
+ uniform vec4 shadowColor;
61
+ uniform sampler2D uSamplers[%count%];
62
+ uniform vec2 uSamplerSize[%count%];
63
+
64
+ void main(void)
65
+ {
66
+ vec2 textureCoord = clamp(vTextureCoord, vFrame.xy, vFrame.zw);
67
+ float textureId = floor(vTextureId + 0.5);
68
+
69
+ vec4 color;
70
+ %forloop%
71
+ gl_FragColor = color * vAlpha;
72
+ }
73
+ `;class U extends X.Shader{__init(){this.maxTextures=0}constructor(t){super(new X.Program(ht,lt(t,ut)),{animationFrame:new Float32Array(2),uSamplers:[],uSamplerSize:[],projTransMatrix:new b.Matrix}),U.prototype.__init.call(this),this.maxTextures=t,ot(this,this.maxTextures)}}class S extends X.Geometry{__init2(){this.vertSize=13}__init3(){this.vertPerQuad=4}__init4(){this.stride=this.vertSize*4}__init5(){this.lastTimeAccess=0}constructor(){super(),S.prototype.__init2.call(this),S.prototype.__init3.call(this),S.prototype.__init4.call(this),S.prototype.__init5.call(this);const t=this.buf=new X.Buffer(new Float32Array(2),!0,!1);this.addAttribute("aVertexPosition",t,0,!1,0,this.stride,0).addAttribute("aTextureCoord",t,0,!1,0,this.stride,2*4).addAttribute("aFrame",t,0,!1,0,this.stride,4*4).addAttribute("aAnim",t,0,!1,0,this.stride,8*4).addAttribute("aTextureId",t,0,!1,0,this.stride,10*4).addAttribute("aAnimDivisor",t,0,!1,0,this.stride,11*4).addAttribute("aAlpha",t,0,!1,0,this.stride,12*4)}}class C extends X.ObjectRenderer{__init(){this.tileAnim=[0,0]}__init2(){this.ibLen=0}__init3(){this.indexBuffer=null}__init4(){this.textiles=[]}constructor(t){super(t),C.prototype.__init.call(this),C.prototype.__init2.call(this),C.prototype.__init3.call(this),C.prototype.__init4.call(this),this.shader=new U(I.TEXTURES_PER_TILEMAP),this.indexBuffer=new X.Buffer(void 0,!0,!0),this.checkIndexBuffer(2e3),this.makeTextiles()}bindTileTextures(t,i){const e=i.length,s=this.shader,o=I.TEXTURES_PER_TILEMAP,u=s.uniforms.uSamplerSize;if(!(e>I.TEXTILE_UNITS*o)){if(I.TEXTILE_UNITS<=1)for(let l=0;l<i.length;l++){const a=i[l];if(!a||!a.valid)return;t.texture.bind(i[l],l),u[l*2]=1/i[l].realWidth,u[l*2+1]=1/i[l].realHeight}else{this.makeTextiles();const l=Math.ceil(e/I.TEXTILE_UNITS);for(let a=0;a<e;a++){const d=i[a];if(d&&d.valid){const f=Math.floor(a/I.TEXTILE_UNITS),m=a%I.TEXTILE_UNITS;this.textiles[f].tile(m,d)}}for(let a=0;a<l;a++)t.texture.bind(this.textiles[a].baseTexture,a),u[a*2]=1/this.textiles[a].width,u[a*2+1]=1/this.textiles[a].baseTexture.height}s.uniforms.uSamplerSize=u}}start(){}createVb(){const t=new S;return t.addIndex(this.indexBuffer),t.lastTimeAccess=Date.now(),t}getShader(){return this.shader}destroy(){super.destroy(),this.shader=null}checkIndexBuffer(t,i=null){const e=t*6;if(e<=this.ibLen)return;let s=e;for(;s<e;)s<<=1;this.ibLen=e;const o=nt.createIndicesForQuads||nt.utils.createIndicesForQuads;this.indexBuffer.update(o(t,I.use32bitIndex?new Uint32Array(t*6):void 0))}makeTextiles(){if(!(I.TEXTILE_UNITS<=1))for(let t=0;t<I.TEXTILE_UNITS;t++){if(this.textiles[t])continue;const i=new Y,e=new X.BaseTexture(i);e.scaleMode=I.TEXTILE_SCALE_MODE,e.wrapMode=V.WRAP_MODES.CLAMP,this.textiles[t]=i}}}const ct={CanvasTileRenderer:B,CompositeRectTileLayer:D,CompositeTilemap:D,Constant:rt,TextileResource:Y,MultiTextureResource:Y,RectTileLayer:_,Tilemap:_,TilemapShader:U,TilemapGeometry:S,RectTileShader:U,RectTileGeom:S,TileRenderer:C};X.Renderer.registerPlugin("tilemap",C),p.CanvasTileRenderer=B,p.CompositeRectTileLayer=D,p.CompositeTilemap=D,p.Constant=rt,p.POINT_STRUCT_SIZE=L,p.RectTileLayer=_,p.TextileResource=Y,p.TileRenderer=C,p.Tilemap=_,p.TilemapGeometry=S,p.TilemapShader=U,p.fillSamplers=ot,p.generateFragmentSrc=lt,p.pixi_tilemap=ct,p.settings=I,Object.defineProperty(p,"__esModule",{value:!0})}),typeof _pixi_tilemap<"u"&&Object.assign((void 0).PIXI.tilemap,_pixi_tilemap);
74
+ //# sourceMappingURL=pixi-tilemap.umd.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../GDevelop/Extensions/TileMap/pixi-tilemap/dist/pixi-tilemap.umd.js"],
4
+ "sourcesContent": ["/* eslint-disable */\n \n// If you update this library, beware of the hack for createIndicesForQuads\n// inside of the library code.\n\n/*!\n * @pixi/tilemap - v3.2.2\n * Compiled Fri, 22 Oct 2021 12:27:49 UTC\n *\n * @pixi/tilemap is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n * \n * Copyright 2019-2020, Ivan Popelyshev, All Rights Reserved\n */\nthis.PIXI = this.PIXI || {};\nthis.PIXI.tilemap = this.PIXI.tilemap || {};\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@pixi/display'), require('@pixi/core'), require('@pixi/constants'), require('@pixi/math'), require('@pixi/utils')) :\n typeof define === 'function' && define.amd ? define(['exports', '@pixi/display', '@pixi/core', '@pixi/constants', '@pixi/math', '@pixi/utils'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global._pixi_tilemap = {}, global.PIXI, global.PIXI, global.PIXI, global.PIXI, global.PIXI.utils));\n}(this, (function (exports, display, core, constants, math, utils) { 'use strict';\n\n /**\n * The renderer plugin for canvas. It isn't registered by default.\n *\n * ```\n * import { CanvasTileRenderer } from '@pixi/tilemap';\n * import { CanvasRenderer } from '@pixi/canvas-core';\n *\n * // You must register this yourself (optional). @pixi/tilemap doesn't do it to\n * // prevent a hard dependency on @pixi/canvas-core.\n * CanvasRenderer.registerPlugin('tilemap', CanvasTileRenderer);\n * ```\n */\n // TODO: Move to @pixi/tilemap-canvas\n class CanvasTileRenderer\n {\n /** The renderer */\n \n\n /** The global tile animation state */\n __init() {this.tileAnim = [0, 0];}\n\n /** @deprecated */\n __init2() {this.dontUseTransform = false;}\n\n /** @param renderer */\n constructor(renderer)\n {;CanvasTileRenderer.prototype.__init.call(this);CanvasTileRenderer.prototype.__init2.call(this);\n this.renderer = renderer;\n this.tileAnim = [0, 0];\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static getInstance(renderer)\n {\n if (!renderer.plugins.tilemap)\n {\n renderer.plugins.tilemap = new CanvasTileRenderer(renderer);\n }\n\n return renderer.plugins.tilemap;\n }\n }\n\n /**\n * These are additional @pixi/tilemap options.\n *\n * This settings should not be changed after the renderer has initialized; otherwise, the behavior\n * is undefined.\n */\n const settings = {\n /** The default number of textures per tilemap in a tilemap composite. */\n TEXTURES_PER_TILEMAP: 16,\n\n /**\n * The width/height of each texture tile in a {@link TEXTILE_DIMEN}. This is 1024px by default.\n *\n * This should fit all tile base-textures; otherwise, {@link TextileResource} may fail to correctly\n * upload the textures togther in a tiled fashion.\n */\n TEXTILE_DIMEN: 1024,\n\n /**\n * The number of texture tiles per {@link TextileResource}.\n *\n * Texture tiling is disabled by default, and so this is set to `1` by default. If it is set to a\n * higher value, textures will be uploaded together in a tiled fashion.\n *\n * Since {@link TextileResource} is a dual-column format, this should be even for packing\n * efficiency. The optimal value is usually 4.\n */\n TEXTILE_UNITS: 1,\n\n /** The scaling mode of the combined texture tiling. */\n TEXTILE_SCALE_MODE: constants.SCALE_MODES.LINEAR,\n\n /** This will enable 32-bit index buffers. It's useful when you have more than 16K tiles. */\n use32bitIndex: false,\n\n /** Flags whether textiles should be cleared when each tile is uploaded. */\n DO_CLEAR: true,\n\n // Backward compatibility\n get maxTextures() { return this.MAX_TEXTURES; },\n set maxTextures(value) { this.MAX_TEXTURES = value; },\n\n get boundSize() { return this.TEXTURE_TILE_DIMEN; },\n set boundSize(value) { this.TILE_TEXTURE_DIMEN = value; },\n\n get boundCountPerBuffer() { return this.TEXTILE_UNITS; },\n set boundCountPerBuffer(value) { this.TEXTILE_UNITS = value; },\n };\n\n // @deprecated\n const Constant = settings;\n\n function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }\n\n\n\n\n var POINT_STRUCT; (function (POINT_STRUCT) {\n const U = 0; POINT_STRUCT[POINT_STRUCT[\"U\"] = U] = \"U\";\n const V = U + 1; POINT_STRUCT[POINT_STRUCT[\"V\"] = V] = \"V\";\n const X = V + 1; POINT_STRUCT[POINT_STRUCT[\"X\"] = X] = \"X\";\n const Y = X + 1; POINT_STRUCT[POINT_STRUCT[\"Y\"] = Y] = \"Y\";\n const TILE_WIDTH = Y + 1; POINT_STRUCT[POINT_STRUCT[\"TILE_WIDTH\"] = TILE_WIDTH] = \"TILE_WIDTH\";\n const TILE_HEIGHT = TILE_WIDTH + 1; POINT_STRUCT[POINT_STRUCT[\"TILE_HEIGHT\"] = TILE_HEIGHT] = \"TILE_HEIGHT\";\n const ROTATE = TILE_HEIGHT + 1; POINT_STRUCT[POINT_STRUCT[\"ROTATE\"] = ROTATE] = \"ROTATE\";\n const ANIM_X = ROTATE + 1; POINT_STRUCT[POINT_STRUCT[\"ANIM_X\"] = ANIM_X] = \"ANIM_X\";\n const ANIM_Y = ANIM_X + 1; POINT_STRUCT[POINT_STRUCT[\"ANIM_Y\"] = ANIM_Y] = \"ANIM_Y\";\n const TEXTURE_INDEX = ANIM_Y + 1; POINT_STRUCT[POINT_STRUCT[\"TEXTURE_INDEX\"] = TEXTURE_INDEX] = \"TEXTURE_INDEX\";\n const ANIM_COUNT_X = TEXTURE_INDEX + 1; POINT_STRUCT[POINT_STRUCT[\"ANIM_COUNT_X\"] = ANIM_COUNT_X] = \"ANIM_COUNT_X\";\n const ANIM_COUNT_Y = ANIM_COUNT_X + 1; POINT_STRUCT[POINT_STRUCT[\"ANIM_COUNT_Y\"] = ANIM_COUNT_Y] = \"ANIM_COUNT_Y\";\n const ANIM_DIVISOR = ANIM_COUNT_Y + 1; POINT_STRUCT[POINT_STRUCT[\"ANIM_DIVISOR\"] = ANIM_DIVISOR] = \"ANIM_DIVISOR\";\n const ALPHA = ANIM_DIVISOR + 1; POINT_STRUCT[POINT_STRUCT[\"ALPHA\"] = ALPHA] = \"ALPHA\";\n })(POINT_STRUCT || (POINT_STRUCT = {}));\n\n const POINT_STRUCT_SIZE = (Object.keys(POINT_STRUCT).length / 2);\n\n /**\n * A rectangular tilemap implementation that renders a predefined set of tile textures.\n *\n * The {@link Tilemap.tileset tileset} of a tilemap defines the list of base-textures that can be painted in the\n * tilemap. A texture is identified using its base-texture's index into the this list, i.e. changing the base-texture\n * at a given index in the tileset modifies the paint of all tiles pointing to that index.\n *\n * The size of the tileset is limited by the texture units supported by the client device. The minimum supported\n * value is 8, as defined by the WebGL 1 specification. `gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS`) can be used\n * to extract this limit. {@link CompositeTilemap} can be used to get around this limit by layering multiple tilemap\n * instances.\n *\n * @example\n * import { Tilemap } from '@pixi/tilemap';\n * import { Loader } from '@pixi/loaders';\n *\n * // Add the spritesheet into your loader!\n * Loader.shared.add('atlas', 'assets/atlas.json');\n *\n * // Make the tilemap once the tileset assets are available.\n * Loader.shared.load(function onTilesetLoaded()\n * {\n * // The base-texture is shared between all the tile textures.\n * const tilemap = new Tilemap([Texture.from('grass.png').baseTexture])\n * .tile('grass.png', 0, 0)\n * .tile('grass.png', 100, 100)\n * .tile('brick_wall.png', 0, 100);\n * });\n */\n class Tilemap extends display.Container\n {\n __init() {this.shadowColor = new Float32Array([0.0, 0.0, 0.0, 0.5]);}\n __init2() {this._globalMat = null;}\n\n /**\n * The tile animation frame.\n *\n * @see CompositeTilemap.tileAnim\n */\n __init3() {this.tileAnim = null;}\n\n /**\n * This is the last uploaded size of the tilemap geometry.\n * @ignore\n */\n __init4() {this.modificationMarker = 0;}\n\n /** @ignore */\n __init5() {this.offsetX = 0;}\n\n /** @ignore */\n __init6() {this.offsetY = 0;}\n\n /** @ignore */\n __init7() {this.compositeParent = false;}\n\n /**\n * The list of base-textures being used in the tilemap.\n *\n * This should not be shuffled after tiles have been added into this tilemap. Usually, only tile textures\n * should be added after tiles have been added into the map.\n */\n \n\n /**\n * The local bounds of the tilemap itself. This does not include DisplayObject children.\n */\n __init8() {this.tilemapBounds = new display.Bounds();}\n\n /** Flags whether any animated tile was added. */\n __init9() {this.hasAnimatedTile = false;}\n\n /** The interleaved geometry of the tilemap. */\n __init10() {this.pointsBuf = [];}\n\n /**\n * @param tileset - The tileset to use for the tilemap. This can be reset later with {@link Tilemap.setTileset}. The\n * base-textures in this array must not be duplicated.\n */\n constructor(tileset)\n {\n super();Tilemap.prototype.__init.call(this);Tilemap.prototype.__init2.call(this);Tilemap.prototype.__init3.call(this);Tilemap.prototype.__init4.call(this);Tilemap.prototype.__init5.call(this);Tilemap.prototype.__init6.call(this);Tilemap.prototype.__init7.call(this);Tilemap.prototype.__init8.call(this);Tilemap.prototype.__init9.call(this);Tilemap.prototype.__init10.call(this);Tilemap.prototype.__init11.call(this);Tilemap.prototype.__init12.call(this);Tilemap.prototype.__init13.call(this);Tilemap.prototype.__init14.call(this);Tilemap.prototype.__init15.call(this);Tilemap.prototype.__init16.call(this);;\n this.setTileset(tileset);\n }\n\n /**\n * @returns The tileset of this tilemap.\n */\n getTileset()\n {\n return this.tileset;\n }\n\n /**\n * Define the tileset used by the tilemap.\n *\n * @param tileset - The list of textures to use in the tilemap. If a base-texture (not array) is passed, it will\n * be wrapped into an array. This should not contain any duplicates.\n */\n setTileset(tileset = [])\n {\n if (!Array.isArray(tileset))\n {\n tileset = [tileset];\n }\n for (let i = 0; i < tileset.length; i++)\n {\n if ((tileset[i] ).baseTexture)\n {\n tileset[i] = (tileset[i] ).baseTexture;\n }\n }\n\n this.tileset = tileset;\n\n return this;\n }\n\n /** Clears all the tiles added into this tilemap. */\n clear()\n {\n this.pointsBuf.length = 0;\n this.modificationMarker = 0;\n this.tilemapBounds.clear();\n this.hasAnimatedTile = false;\n\n return this;\n }\n\n /**\n * Adds a tile that paints the given texture at (x, y).\n *\n * @param tileTexture - The tiling texture to render.\n * @param x - The local x-coordinate of the tile's position.\n * @param y - The local y-coordinate of the tile's position.\n * @param options - Additional tile options.\n * @param [options.u=texture.frame.x] - The x-coordinate of the texture in its base-texture's space.\n * @param [options.v=texture.frame.y] - The y-coordinate of the texture in its base-texture's space.\n * @param [options.tileWidth=texture.orig.width] - The local width of the tile.\n * @param [options.tileHeight=texture.orig.height] - The local height of the tile.\n * @param [options.animX=0] - For animated tiles, this is the \"offset\" along the x-axis for adjacent\n * animation frame textures in the base-texture.\n * @param [options.animY=0] - For animated tiles, this is the \"offset\" along the y-axis for adjacent\n * animation frames textures in the base-texture.\n * @param [options.rotate=0]\n * @param [options.animCountX=1024] - For animated tiles, this is the number of animation frame textures\n * per row.\n * @param [options.animCountY=1024] - For animated tiles, this is the number of animation frame textures\n * per column.\n * @param [options.animDivisor=1] - For animated tiles, this is the animation duration of each frame\n * @param [options.alpha=1] - Tile alpha\n * @return This tilemap, good for chaining.\n */\n tile(\n tileTexture,\n x,\n y,\n options\n\n\n\n\n\n\n\n\n\n\n\n = {}\n )\n {\n let baseTexture;\n let textureIndex = -1;\n\n if (typeof tileTexture === 'number')\n {\n textureIndex = tileTexture;\n baseTexture = this.tileset[textureIndex];\n }\n else\n {\n let texture;\n\n if (typeof tileTexture === 'string')\n {\n texture = core.Texture.from(tileTexture);\n }\n else\n {\n texture = tileTexture;\n }\n\n const textureList = this.tileset;\n\n for (let i = 0; i < textureList.length; i++)\n {\n if (textureList[i] === texture.castToBaseTexture())\n {\n textureIndex = i;\n break;\n }\n }\n\n if ('baseTexture' in texture)\n {\n options.u = _nullishCoalesce(options.u, () => ( texture.frame.x));\n options.v = _nullishCoalesce(options.v, () => ( texture.frame.y));\n options.tileWidth = _nullishCoalesce(options.tileWidth, () => ( texture.orig.width));\n options.tileHeight = _nullishCoalesce(options.tileHeight, () => ( texture.orig.height));\n }\n\n baseTexture = texture.castToBaseTexture();\n }\n\n if (!baseTexture || textureIndex < 0)\n {\n console.error('The tile texture was not found in the tilemap tileset.');\n\n return this;\n }\n\n const {\n u = 0,\n v = 0,\n tileWidth = baseTexture.realWidth,\n tileHeight = baseTexture.realHeight,\n animX = 0,\n animY = 0,\n rotate = 0,\n animCountX = 1024,\n animCountY = 1024,\n animDivisor = 1,\n alpha = 1,\n } = options;\n\n const pb = this.pointsBuf;\n\n this.hasAnimatedTile = this.hasAnimatedTile || animX > 0 || animY > 0;\n\n pb.push(u);\n pb.push(v);\n pb.push(x);\n pb.push(y);\n pb.push(tileWidth);\n pb.push(tileHeight);\n pb.push(rotate);\n pb.push(animX | 0);\n pb.push(animY | 0);\n pb.push(textureIndex);\n pb.push(animCountX);\n pb.push(animCountY);\n pb.push(animDivisor);\n pb.push(alpha);\n\n this.tilemapBounds.addFramePad(x, y, x + tileWidth, y + tileHeight, 0, 0);\n\n return this;\n }\n\n /** Changes the rotation of the last tile. */\n tileRotate(rotate)\n {\n const pb = this.pointsBuf;\n\n pb[pb.length - (POINT_STRUCT_SIZE - POINT_STRUCT.TEXTURE_INDEX)] = rotate;\n }\n\n /** Changes the `animX`, `animCountX` of the last tile. */\n tileAnimX(offset, count)\n {\n const pb = this.pointsBuf;\n\n pb[pb.length - (POINT_STRUCT_SIZE - POINT_STRUCT.ANIM_X)] = offset;\n pb[pb.length - (POINT_STRUCT_SIZE - POINT_STRUCT.ANIM_COUNT_X)] = count;\n // pb[pb.length - (POINT_STRUCT_SIZE - POINT_STRUCT.ANIM_DIVISOR)] = duration;\n }\n\n /** Changes the `animY`, `animCountY` of the last tile. */\n tileAnimY(offset, count)\n {\n const pb = this.pointsBuf;\n\n pb[pb.length - (POINT_STRUCT_SIZE - POINT_STRUCT.ANIM_Y)] = offset;\n pb[pb.length - (POINT_STRUCT_SIZE - POINT_STRUCT.ANIM_COUNT_Y)] = count;\n }\n\n /** Changes the `animDivisor` value of the last tile. */\n tileAnimDivisor(divisor)\n {\n const pb = this.pointsBuf;\n\n pb[pb.length - (POINT_STRUCT_SIZE - POINT_STRUCT.ANIM_DIVISOR)] = divisor;\n }\n\n tileAlpha(alpha)\n {\n const pb = this.pointsBuf;\n\n pb[pb.length - (POINT_STRUCT_SIZE - POINT_STRUCT.ALPHA)] = alpha;\n }\n\n __init11() {this.renderCanvas = (renderer) =>\n {\n const plugin = CanvasTileRenderer.getInstance(renderer);\n\n if (plugin && !plugin.dontUseTransform)\n {\n const wt = this.worldTransform;\n\n renderer.context.setTransform(\n wt.a,\n wt.b,\n wt.c,\n wt.d,\n wt.tx * renderer.resolution,\n wt.ty * renderer.resolution\n );\n }\n\n this.renderCanvasCore(renderer);\n };}\n\n renderCanvasCore(renderer)\n {\n if (this.tileset.length === 0) return;\n const points = this.pointsBuf;\n const tileAnim = this.tileAnim || (renderer.plugins.tilemap && renderer.plugins.tilemap.tileAnim);\n\n renderer.context.fillStyle = '#000000';\n for (let i = 0, n = points.length; i < n; i += POINT_STRUCT_SIZE)\n {\n let x1 = points[i + POINT_STRUCT.U];\n let y1 = points[i + POINT_STRUCT.V];\n const x2 = points[i + POINT_STRUCT.X];\n const y2 = points[i + POINT_STRUCT.Y];\n const w = points[i + POINT_STRUCT.TILE_WIDTH];\n const h = points[i + POINT_STRUCT.TILE_HEIGHT];\n\n x1 += points[i + POINT_STRUCT.ANIM_X] * tileAnim[0];\n y1 += points[i + POINT_STRUCT.ANIM_Y] * tileAnim[1];\n\n const textureIndex = points[i + POINT_STRUCT.TEXTURE_INDEX];\n const alpha = points[i + POINT_STRUCT.ALPHA];\n\n // canvas does not work with rotate yet\n\n if (textureIndex >= 0 && this.tileset[textureIndex])\n {\n renderer.context.globalAlpha = alpha;\n renderer.context.drawImage(\n (this.tileset[textureIndex] ).getDrawableSource(),\n x1, y1, w, h, x2, y2, w, h\n );\n }\n else\n {\n renderer.context.globalAlpha = 0.5;\n renderer.context.fillRect(x2, y2, w, h);\n }\n renderer.context.globalAlpha = 1;\n }\n }\n\n __init12() {this.vbId = 0;}\n __init13() {this.vb = null;}\n __init14() {this.vbBuffer = null;}\n __init15() {this.vbArray = null;}\n __init16() {this.vbInts = null;}\n\n destroyVb()\n {\n if (this.vb)\n {\n this.vb.destroy();\n this.vb = null;\n }\n }\n\n render(renderer)\n {\n const plugin = (renderer.plugins ).tilemap;\n const shader = plugin.getShader();\n\n renderer.batch.setObjectRenderer(plugin);\n this._globalMat = shader.uniforms.projTransMatrix;\n renderer\n .globalUniforms\n .uniforms\n .projectionMatrix\n .copyTo(this._globalMat)\n .append(this.worldTransform);\n\n shader.uniforms.shadowColor = this.shadowColor;\n shader.uniforms.animationFrame = this.tileAnim || plugin.tileAnim;\n\n this.renderWebGLCore(renderer, plugin);\n }\n\n renderWebGLCore(renderer, plugin)\n {\n const points = this.pointsBuf;\n\n if (points.length === 0) return;\n const rectsCount = points.length / POINT_STRUCT_SIZE;\n\n const shader = plugin.getShader();\n const textures = this.tileset;\n\n if (textures.length === 0) return;\n\n plugin.bindTileTextures(renderer, textures);\n renderer.shader.bind(shader, false);\n\n // lost context! recover!\n let vb = this.vb;\n\n if (!vb)\n {\n vb = plugin.createVb();\n this.vb = vb;\n this.vbId = (vb ).id;\n this.vbBuffer = null;\n this.modificationMarker = 0;\n }\n\n plugin.checkIndexBuffer(rectsCount, vb);\n const boundCountPerBuffer = settings.TEXTILE_UNITS;\n\n const vertexBuf = vb.getBuffer('aVertexPosition');\n // if layer was changed, re-upload vertices\n const vertices = rectsCount * vb.vertPerQuad;\n\n if (vertices === 0) return;\n if (this.modificationMarker !== vertices)\n {\n this.modificationMarker = vertices;\n const vs = vb.stride * vertices;\n\n if (!this.vbBuffer || this.vbBuffer.byteLength < vs)\n {\n // !@#$ happens, need resize\n let bk = vb.stride;\n\n while (bk < vs)\n {\n bk *= 2;\n }\n this.vbBuffer = new ArrayBuffer(bk);\n this.vbArray = new Float32Array(this.vbBuffer);\n this.vbInts = new Uint32Array(this.vbBuffer);\n vertexBuf.update(this.vbBuffer);\n }\n\n const arr = this.vbArray;\n // const ints = this.vbInts;\n // upload vertices!\n let sz = 0;\n // let tint = 0xffffffff;\n let textureId = 0;\n let shiftU = this.offsetX;\n let shiftV = this.offsetY;\n\n // let tint = 0xffffffff;\n // const tint = -1;\n\n for (let i = 0; i < points.length; i += POINT_STRUCT_SIZE)\n {\n const eps = 0.5;\n\n if (this.compositeParent)\n {\n const textureIndex = points[i + POINT_STRUCT.TEXTURE_INDEX];\n\n if (boundCountPerBuffer > 1)\n {\n // TODO: what if its more than 4?\n textureId = (textureIndex >> 2);\n shiftU = this.offsetX * (textureIndex & 1);\n shiftV = this.offsetY * ((textureIndex >> 1) & 1);\n }\n else\n {\n textureId = textureIndex;\n shiftU = 0;\n shiftV = 0;\n }\n }\n const x = points[i + POINT_STRUCT.X];\n const y = points[i + POINT_STRUCT.Y];\n const w = points[i + POINT_STRUCT.TILE_WIDTH];\n const h = points[i + POINT_STRUCT.TILE_HEIGHT];\n const u = points[i + POINT_STRUCT.U] + shiftU;\n const v = points[i + POINT_STRUCT.V] + shiftV;\n let rotate = points[i + POINT_STRUCT.ROTATE];\n\n const animX = points[i + POINT_STRUCT.ANIM_X];\n const animY = points[i + POINT_STRUCT.ANIM_Y];\n const animWidth = points[i + POINT_STRUCT.ANIM_COUNT_X] || 1024;\n const animHeight = points[i + POINT_STRUCT.ANIM_COUNT_Y] || 1024;\n\n const animXEncoded = animX + (animWidth * 2048);\n const animYEncoded = animY + (animHeight * 2048);\n const animDivisor = points[i + POINT_STRUCT.ANIM_DIVISOR];\n const alpha = points[i + POINT_STRUCT.ALPHA];\n\n let u0;\n let v0; let u1;\n let v1; let u2;\n let v2; let u3;\n let v3;\n\n if (rotate === 0)\n {\n u0 = u;\n v0 = v;\n u1 = u + w;\n v1 = v;\n u2 = u + w;\n v2 = v + h;\n u3 = u;\n v3 = v + h;\n }\n else\n {\n let w2 = w / 2;\n let h2 = h / 2;\n\n if (rotate % 4 !== 0)\n {\n w2 = h / 2;\n h2 = w / 2;\n }\n const cX = u + w2;\n const cY = v + h2;\n\n rotate = math.groupD8.add(rotate, math.groupD8.NW);\n u0 = cX + (w2 * math.groupD8.uX(rotate));\n v0 = cY + (h2 * math.groupD8.uY(rotate));\n\n rotate = math.groupD8.add(rotate, 2); // rotate 90 degrees clockwise\n u1 = cX + (w2 * math.groupD8.uX(rotate));\n v1 = cY + (h2 * math.groupD8.uY(rotate));\n\n rotate = math.groupD8.add(rotate, 2);\n u2 = cX + (w2 * math.groupD8.uX(rotate));\n v2 = cY + (h2 * math.groupD8.uY(rotate));\n\n rotate = math.groupD8.add(rotate, 2);\n u3 = cX + (w2 * math.groupD8.uX(rotate));\n v3 = cY + (h2 * math.groupD8.uY(rotate));\n }\n\n arr[sz++] = x;\n arr[sz++] = y;\n arr[sz++] = u0;\n arr[sz++] = v0;\n arr[sz++] = u + eps;\n arr[sz++] = v + eps;\n arr[sz++] = u + w - eps;\n arr[sz++] = v + h - eps;\n arr[sz++] = animXEncoded;\n arr[sz++] = animYEncoded;\n arr[sz++] = textureId;\n arr[sz++] = animDivisor;\n arr[sz++] = alpha;\n\n arr[sz++] = x + w;\n arr[sz++] = y;\n arr[sz++] = u1;\n arr[sz++] = v1;\n arr[sz++] = u + eps;\n arr[sz++] = v + eps;\n arr[sz++] = u + w - eps;\n arr[sz++] = v + h - eps;\n arr[sz++] = animXEncoded;\n arr[sz++] = animYEncoded;\n arr[sz++] = textureId;\n arr[sz++] = animDivisor;\n arr[sz++] = alpha;\n\n arr[sz++] = x + w;\n arr[sz++] = y + h;\n arr[sz++] = u2;\n arr[sz++] = v2;\n arr[sz++] = u + eps;\n arr[sz++] = v + eps;\n arr[sz++] = u + w - eps;\n arr[sz++] = v + h - eps;\n arr[sz++] = animXEncoded;\n arr[sz++] = animYEncoded;\n arr[sz++] = textureId;\n arr[sz++] = animDivisor;\n arr[sz++] = alpha;\n\n arr[sz++] = x;\n arr[sz++] = y + h;\n arr[sz++] = u3;\n arr[sz++] = v3;\n arr[sz++] = u + eps;\n arr[sz++] = v + eps;\n arr[sz++] = u + w - eps;\n arr[sz++] = v + h - eps;\n arr[sz++] = animXEncoded;\n arr[sz++] = animYEncoded;\n arr[sz++] = textureId;\n arr[sz++] = animDivisor;\n arr[sz++] = alpha;\n }\n\n vertexBuf.update(arr);\n }\n\n (renderer.geometry ).bind(vb, shader);\n renderer.geometry.draw(constants.DRAW_MODES.TRIANGLES, rectsCount * 6, 0);\n }\n\n /**\n * @internal\n * @ignore\n */\n isModified(anim)\n {\n if (this.modificationMarker !== this.pointsBuf.length\n || (anim && this.hasAnimatedTile))\n {\n return true;\n }\n\n return false;\n }\n\n /**\n * This will pull forward the modification marker.\n *\n * @internal\n * @ignore\n */\n clearModify()\n {\n this.modificationMarker = this.pointsBuf.length;\n }\n\n /** @override */\n _calculateBounds()\n {\n const { minX, minY, maxX, maxY } = this.tilemapBounds;\n\n this._bounds.addFrame(this.transform, minX, minY, maxX, maxY);\n }\n\n /** @override */\n getLocalBounds(rect)\n {\n // we can do a fast local bounds if the sprite has no children!\n if (this.children.length === 0)\n {\n return this.tilemapBounds.getRectangle(rect);\n }\n\n return super.getLocalBounds.call(this, rect);\n }\n\n /** @override */\n destroy(options)\n {\n super.destroy(options);\n this.destroyVb();\n }\n\n /**\n * Deprecated signature for {@link Tilemap.tile tile}.\n *\n * @deprecated Since @pixi/tilemap 3.\n */\n addFrame(texture, x, y, animX, animY)\n {\n this.tile(\n texture,\n x,\n y,\n {\n animX,\n animY,\n }\n );\n\n return true;\n }\n\n /**\n * Deprecated signature for {@link Tilemap.tile tile}.\n *\n * @deprecated Since @pixi/tilemap 3.\n */\n // eslint-disable-next-line max-params\n addRect(\n textureIndex,\n u,\n v,\n x,\n y,\n tileWidth,\n tileHeight,\n animX = 0,\n animY = 0,\n rotate = 0,\n animCountX = 1024,\n animCountY = 1024,\n animDivisor = 1,\n alpha = 1,\n )\n {\n return this.tile(\n textureIndex,\n x, y,\n {\n u, v, tileWidth, tileHeight, animX, animY, rotate, animCountX, animCountY, animDivisor, alpha\n }\n );\n }\n }\n\n /**\n * A tilemap composite that lazily builds tilesets layered into multiple tilemaps.\n *\n * The composite tileset is the concatenatation of the individual tilesets used in the tilemaps. You can\n * preinitialized it by passing a list of tile textures to the constructor. Otherwise, the composite tilemap\n * is lazily built as you add more tiles with newer tile textures. A new tilemap is created once the last\n * tilemap has reached its limit (as set by {@link CompositeTilemap.texturesPerTilemap texturesPerTilemap}).\n *\n * @example\n * import { Application } from '@pixi/app';\n * import { CompositeTilemap } from '@pixi/tilemap';\n * import { Loader } from '@pixi/loaders';\n *\n * // Setup view & stage.\n * const app = new Application();\n *\n * document.body.appendChild(app.renderer.view);\n * app.stage.interactive = true;\n *\n * // Global reference to the tilemap.\n * let globalTilemap: CompositeTilemap;\n *\n * // Load the tileset spritesheet!\n * Loader.shared.load('atlas.json');\n *\n * // Initialize the tilemap scene when the assets load.\n * Loader.shared.load(function onTilesetLoaded()\n * {\n * const tilemap = new CompositeTilemap();\n *\n * // Setup the game level with grass and dungeons!\n * for (let x = 0; x < 10; x++)\n * {\n * for (let y = 0; y < 10; y++)\n * {\n * tilemap.tile(\n * x % 2 === 0 && (x === y || x + y === 10) ? 'dungeon.png' : 'grass.png',\n * x * 100,\n * y * 100,\n * );\n * }\n * }\n *\n * globalTilemap = app.stage.addChild(tilemap);\n * });\n *\n * // Show a bomb at a random location whenever the user clicks!\n * app.stage.on('click', function onClick()\n * {\n * if (!globalTilemap) return;\n *\n * const x = Math.floor(Math.random() * 10);\n * const y = Math.floor(Math.random() * 10);\n *\n * globalTilemap.tile('bomb.png', x * 100, y * 100);\n * });\n */\n class CompositeTilemap extends display.Container\n {\n /** The hard limit on the number of tile textures used in each tilemap. */\n \n\n /**\n * The animation frame vector.\n *\n * Animated tiles have four parameters - `animX`, `animY`, `animCountX`, `animCountY`. The textures\n * of adjacent animation frames are at offset `animX` or `animY` of each other, with `animCountX` per\n * row and `animCountY` per column.\n *\n * The animation frame vector specifies which animation frame texture to use. If the x/y coordinate is\n * larger than the `animCountX` or `animCountY` for a specific tile, the modulus is taken.\n */\n __init() {this.tileAnim = null;}\n\n /** The last modified tilemap. */\n __init2() {this.lastModifiedTilemap = null;}\n\n __init3() {this.modificationMarker = 0;}\n __init4() {this.shadowColor = new Float32Array([0.0, 0.0, 0.0, 0.5]);}\n __init5() {this._globalMat = null;}\n\n /**\n * @param tileset - A list of tile base-textures that will be used to eagerly initialized the layered\n * tilemaps. This is only an performance optimization, and using {@link CompositeTilemap.tile tile}\n * will work equivalently.\n */\n constructor(tileset)\n {\n super();CompositeTilemap.prototype.__init.call(this);CompositeTilemap.prototype.__init2.call(this);CompositeTilemap.prototype.__init3.call(this);CompositeTilemap.prototype.__init4.call(this);CompositeTilemap.prototype.__init5.call(this);CompositeTilemap.prototype.__init6.call(this);;\n\n this.tileset(tileset);\n this.texturesPerTilemap = settings.TEXTURES_PER_TILEMAP;\n }\n\n /**\n * This will preinitialize the tilesets of the layered tilemaps.\n *\n * If used after a tilemap has been created (or a tile added), this will overwrite the tile textures of the\n * existing tilemaps. Passing the tileset to the constructor instead is the best practice.\n *\n * @param tileTextures - The list of tile textures that make up the tileset.\n */\n tileset(tileTextures)\n {\n if (!tileTextures)\n {\n tileTextures = [];\n }\n\n const texPerChild = this.texturesPerTilemap;\n const len1 = this.children.length;\n const len2 = Math.ceil(tileTextures.length / texPerChild);\n\n for (let i = 0; i < Math.min(len1, len2); i++)\n {\n (this.children[i] ).setTileset(\n tileTextures.slice(i * texPerChild, (i + 1) * texPerChild)\n );\n }\n for (let i = len1; i < len2; i++)\n {\n const tilemap = new Tilemap(tileTextures.slice(i * texPerChild, (i + 1) * texPerChild));\n\n tilemap.compositeParent = true;\n tilemap.offsetX = settings.TEXTILE_DIMEN;\n tilemap.offsetY = settings.TEXTILE_DIMEN;\n\n // TODO: Don't use children\n this.addChild(tilemap);\n }\n\n return this;\n }\n\n /** Clears the tilemap composite. */\n clear()\n {\n for (let i = 0; i < this.children.length; i++)\n {\n (this.children[i] ).clear();\n }\n\n this.modificationMarker = 0;\n\n return this;\n }\n\n /** Changes the rotation of the last added tile. */\n tileRotate(rotate)\n {\n if (this.lastModifiedTilemap)\n {\n this.lastModifiedTilemap.tileRotate(rotate);\n }\n\n return this;\n }\n\n /** Changes `animX`, `animCountX` of the last added tile. */\n tileAnimX(offset, count)\n {\n if (this.lastModifiedTilemap)\n {\n this.lastModifiedTilemap.tileAnimX(offset, count);\n }\n\n return this;\n }\n\n /** Changes `animY`, `animCountY` of the last added tile. */\n tileAnimY(offset, count)\n {\n if (this.lastModifiedTilemap)\n {\n this.lastModifiedTilemap.tileAnimY(offset, count);\n }\n\n return this;\n }\n\n /** Changes `tileAnimDivisor` value of the last added tile. */\n tileAnimDivisor(divisor)\n {\n if (this.lastModifiedTilemap)\n {\n this.lastModifiedTilemap.tileAnimDivisor(divisor);\n }\n\n return this;\n }\n\n /**\n * Adds a tile that paints the given tile texture at (x, y).\n *\n * @param tileTexture - The tile texture. You can pass an index into the composite tilemap as well.\n * @param x - The local x-coordinate of the tile's location.\n * @param y - The local y-coordinate of the tile's location.\n * @param options - Additional options to pass to {@link Tilemap.tile}.\n * @param [options.u=texture.frame.x] - The x-coordinate of the texture in its base-texture's space.\n * @param [options.v=texture.frame.y] - The y-coordinate of the texture in its base-texture's space.\n * @param [options.tileWidth=texture.orig.width] - The local width of the tile.\n * @param [options.tileHeight=texture.orig.height] - The local height of the tile.\n * @param [options.animX=0] - For animated tiles, this is the \"offset\" along the x-axis for adjacent\n * animation frame textures in the base-texture.\n * @param [options.animY=0] - For animated tiles, this is the \"offset\" along the y-axis for adjacent\n * animation frames textures in the base-texture.\n * @param [options.rotate=0]\n * @param [options.animCountX=1024] - For animated tiles, this is the number of animation frame textures\n * per row.\n * @param [options.animCountY=1024] - For animated tiles, this is the number of animation frame textures\n * per column.\n * @param [options.animDivisor=1] - For animated tiles, this is the animation duration each frame\n * @param [options.alpha=1] - Tile alpha\n * @return This tilemap, good for chaining.\n */\n tile(\n tileTexture,\n x,\n y,\n options\n\n\n\n\n\n\n\n\n\n\n\n = {}\n )\n {\n let tilemap = null;\n const children = this.children;\n\n this.lastModifiedTilemap = null;\n\n if (typeof tileTexture === 'number')\n {\n const childIndex = tileTexture / this.texturesPerTilemap >> 0;\n let tileIndex = 0;\n\n tilemap = children[childIndex] ;\n\n if (!tilemap)\n {\n tilemap = children[0] ;\n\n // Silently fail if the tilemap doesn't exist\n if (!tilemap) return this;\n\n tileIndex = 0;\n }\n else\n {\n tileIndex = tileTexture % this.texturesPerTilemap;\n }\n\n tilemap.tile(\n tileIndex,\n x,\n y,\n options,\n );\n }\n else\n {\n if (typeof tileTexture === 'string')\n {\n tileTexture = core.Texture.from(tileTexture);\n }\n\n // Probe all tilemaps to find which tileset contains the base-texture.\n for (let i = 0; i < children.length; i++)\n {\n const child = children[i] ;\n const tex = child.getTileset();\n\n for (let j = 0; j < tex.length; j++)\n {\n if (tex[j] === tileTexture.baseTexture)\n {\n tilemap = child;\n break;\n }\n }\n\n if (tilemap)\n {\n break;\n }\n }\n\n // If no tileset contains the base-texture, attempt to add it.\n if (!tilemap)\n {\n // Probe the tilemaps to find one below capacity. If so, add the texture into that tilemap.\n for (let i = children.length - 1; i >= 0; i--)\n {\n const child = children[i] ;\n\n if (child.getTileset().length < this.texturesPerTilemap)\n {\n tilemap = child;\n child.getTileset().push(tileTexture.baseTexture);\n break;\n }\n }\n\n // Otherwise, create a new tilemap initialized with that tile texture.\n if (!tilemap)\n {\n tilemap = new Tilemap(tileTexture.baseTexture);\n tilemap.compositeParent = true;\n tilemap.offsetX = settings.TEXTILE_DIMEN;\n tilemap.offsetY = settings.TEXTILE_DIMEN;\n\n this.addChild(tilemap);\n }\n }\n\n tilemap.tile(\n tileTexture,\n x,\n y,\n options,\n );\n }\n\n this.lastModifiedTilemap = tilemap;\n\n return this;\n }\n\n renderCanvas(renderer)\n {\n if (!this.visible || this.worldAlpha <= 0 || !this.renderable)\n {\n return;\n }\n\n const tilemapPlugin = CanvasTileRenderer.getInstance(renderer);\n\n if (tilemapPlugin && !tilemapPlugin.dontUseTransform)\n {\n const wt = this.worldTransform;\n\n renderer.context.setTransform(\n wt.a,\n wt.b,\n wt.c,\n wt.d,\n wt.tx * renderer.resolution,\n wt.ty * renderer.resolution\n );\n }\n\n const layers = this.children;\n\n for (let i = 0; i < layers.length; i++)\n {\n const layer = (layers[i] );\n\n layer.tileAnim = this.tileAnim;\n layer.renderCanvasCore(renderer);\n }\n }\n\n render(renderer)\n {\n if (!this.visible || this.worldAlpha <= 0 || !this.renderable)\n {\n return;\n }\n\n const plugin = renderer.plugins.tilemap ;\n const shader = plugin.getShader();\n\n renderer.batch.setObjectRenderer(plugin);\n\n // TODO: dont create new array, please\n this._globalMat = shader.uniforms.projTransMatrix;\n renderer.globalUniforms.uniforms.projectionMatrix.copyTo(this._globalMat).append(this.worldTransform);\n shader.uniforms.shadowColor = this.shadowColor;\n shader.uniforms.animationFrame = this.tileAnim || plugin.tileAnim;\n\n renderer.shader.bind(shader, false);\n\n const layers = this.children;\n\n for (let i = 0; i < layers.length; i++)\n {\n (layers[i] ).renderWebGLCore(renderer, plugin);\n }\n }\n\n /**\n * @internal\n * @ignore\n */\n isModified(anim)\n {\n const layers = this.children;\n\n if (this.modificationMarker !== layers.length)\n {\n return true;\n }\n for (let i = 0; i < layers.length; i++)\n {\n if ((layers[i] ).isModified(anim))\n {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * @internal\n * @ignore\n */\n clearModify()\n {\n const layers = this.children;\n\n this.modificationMarker = layers.length;\n for (let i = 0; i < layers.length; i++)\n {\n (layers[i] ).clearModify();\n }\n }\n\n /**\n * @deprecated Since @pixi/tilemap 3.\n * @see CompositeTilemap.tile\n */\n addFrame(\n texture,\n x,\n y,\n animX,\n animY,\n animWidth,\n animHeight,\n animDivisor,\n alpha\n )\n {\n return this.tile(\n texture,\n x, y,\n {\n animX,\n animY,\n animCountX: animWidth,\n animCountY: animHeight,\n animDivisor,\n alpha\n }\n );\n }\n\n /**\n * @deprecated @pixi/tilemap 3\n * @see CompositeTilemap.tile\n */\n // eslint-disable-next-line max-params\n addRect(\n textureIndex,\n u,\n v,\n x,\n y,\n tileWidth,\n tileHeight,\n animX,\n animY,\n rotate,\n animWidth,\n animHeight\n )\n {\n const childIndex = textureIndex / this.texturesPerTilemap >> 0;\n const textureId = textureIndex % this.texturesPerTilemap;\n\n if (this.children[childIndex] && (this.children[childIndex] ).getTileset())\n {\n this.lastModifiedTilemap = (this.children[childIndex] );\n this.lastModifiedTilemap.addRect(\n textureId, u, v, x, y, tileWidth, tileHeight, animX, animY, rotate, animWidth, animHeight\n );\n }\n else\n {\n this.lastModifiedTilemap = null;\n }\n\n return this;\n }\n\n /**\n * Alias for {@link CompositeTilemap.tileset tileset}.\n *\n * @deprecated Since @pixi/tilemap 3.\n */\n __init6() {this.setBitmaps = this.tileset;}\n\n /**\n * @deprecated Since @pixi/tilemap 3.\n * @readonly\n * @see CompositeTilemap.texturesPerTilemap\n */\n get texPerChild() { return this.texturesPerTilemap; }\n }\n\n // For some reason ESLint goes mad with indendation in this file ^&^\n /* eslint-disable indent */\n\n /**\n * This texture tiling resource can be used to upload multiple base-textures together.\n *\n * This resource combines multiple base-textures into a \"textile\". They're laid out in\n * a dual column format, placed in row-order order. The size of each tile is predefined,\n * and defaults to {@link settings.TEXTILE_DIMEN}. This means that each input base-texture\n * must is smaller than that along both its width and height.\n *\n * @see settings.TEXTILE_UNITS\n */\n class TextileResource extends core.Resource\n {\n \t/** The base-texture that contains all the texture tiles. */\n \t __init() {this.baseTexture = null;}\n\n \t\n \t\n \t\n\n \t __init2() {this._clearBuffer = null;}\n\n \t/**\n \t * @param options - This will default to the \"settings\" exported by @pixi/tilemap.\n \t * @param options.TEXTILE_DIMEN - The dimensions of each tile.\n \t * @param options.TEXTILE_UNITS - The number of texture tiles.\n \t */\n \tconstructor(options = settings)\n \t{\n \t\tsuper(\n \t\t\toptions.TEXTILE_DIMEN * 2,\n \t\t\toptions.TEXTILE_DIMEN * Math.ceil(options.TEXTILE_UNITS / 2),\n \t\t);TextileResource.prototype.__init.call(this);TextileResource.prototype.__init2.call(this);;\n\n \t\tconst tiles = this.tiles = new Array(options.TEXTILE_UNITS);\n\n \t\tthis.doClear = !!options.DO_CLEAR;\n \t\tthis.tileDimen = options.TEXTILE_DIMEN;\n\n \t\tfor (let j = 0; j < options.TEXTILE_UNITS; j++)\n \t\t{\n \t\t\ttiles[j] = {\n \t\t\t\tdirtyId: 0,\n \t\t\t\tx: options.TEXTILE_DIMEN * (j & 1),\n \t\t\t\ty: options.TEXTILE_DIMEN * (j >> 1),\n \t\t\t\tbaseTexture: core.Texture.WHITE.baseTexture,\n \t\t\t};\n \t\t}\n \t}\n\n \t/**\n \t * Sets the texture to be uploaded for the given tile.\n \t *\n \t * @param index - The index of the tile being set.\n \t * @param texture - The texture with the base-texture to upload.\n \t */\n \ttile(index, texture)\n \t{\n \t\tconst tile = this.tiles[index];\n\n \t\tif (tile.baseTexture === texture)\n \t\t{\n \t\t\treturn;\n \t\t}\n\n \t\ttile.baseTexture = texture;\n \t\tthis.baseTexture.update();\n\n \t\tthis.tiles[index].dirtyId = (this.baseTexture ).dirtyId;\n \t}\n\n \t/** @override */\n \tbind(baseTexture)\n \t{\n \t\tif (this.baseTexture)\n \t\t{\n \t\t\tthrow new Error('Only one baseTexture is allowed for this resource!');\n \t\t}\n\n \t\tthis.baseTexture = baseTexture;\n \t\tsuper.bind(baseTexture);\n \t}\n\n \t/** @override */\n \tupload(renderer, texture, glTexture)\n \t{\n \t\tconst { gl } = renderer;\n \t\tconst { width, height } = this;\n\n \t\tgl.pixelStorei(\n \t\t\tgl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,\n \t\t\ttexture.alphaMode === undefined || texture.alphaMode === constants.ALPHA_MODES.UNPACK\n \t\t);\n\n \t\tif (glTexture.dirtyId < 0)\n \t\t{\n \t\t\t(glTexture ).width = width;\n \t\t\t(glTexture ).height = height;\n\n \t\t\tgl.texImage2D(texture.target, 0,\n \t\t\t\ttexture.format,\n \t\t\t\twidth,\n \t\t\t\theight,\n \t\t\t\t0,\n \t\t\t\ttexture.format,\n \t\t\t\ttexture.type,\n \t\t\t\tnull);\n \t\t}\n\n \t\tconst doClear = this.doClear;\n \t\tconst tiles = this.tiles;\n\n \t\tif (doClear && !this._clearBuffer)\n \t\t{\n \t\t\tthis._clearBuffer = new Uint8Array(settings.TEXTILE_DIMEN * settings.TEXTILE_DIMEN * 4);\n \t\t}\n\n \t\tfor (let i = 0; i < tiles.length; i++)\n \t\t{\n \t\t\tconst spr = tiles[i];\n \t\t\tconst tex = spr.baseTexture;\n\n \t\t\tif (glTexture.dirtyId >= this.tiles[i].dirtyId)\n \t\t\t{\n \t\t\t\tcontinue;\n \t\t\t}\n\n \t\t\tconst res = tex.resource ;\n\n \t\t\tif (!tex.valid || !res || !res.source)\n \t\t\t{\n \t\t\t\tcontinue;\n \t\t\t}\n \t\t\tif (doClear && (tex.width < this.tileDimen || tex.height < this.tileDimen))\n \t\t\t{\n \t\t\t\tgl.texSubImage2D(texture.target, 0,\n \t\t\t\t\tspr.x,\n \t\t\t\t\tspr.y,\n \t\t\t\t\tthis.tileDimen,\n \t\t\t\t\tthis.tileDimen,\n \t\t\t\t\ttexture.format,\n \t\t\t\t\ttexture.type,\n \t\t\t\t\tthis._clearBuffer);\n \t\t\t}\n\n \t\t\tgl.texSubImage2D(texture.target, 0,\n \t\t\t\tspr.x,\n \t\t\t\tspr.y,\n \t\t\t\ttexture.format,\n \t\t\t\ttexture.type,\n \t\t\t\tres.source);\n \t\t}\n\n \t\treturn true;\n \t}\n }\n\n /**\n * This will generate fragment shader code that samples the correct texture into the \"color\" variable.\n *\n * @internal\n * @ignore\n * @param maxTextures - The texture array length in the shader's uniforms.\n */\n function generateSampleSrc(maxTextures)\n {\n let src = '';\n\n src += '\\n';\n src += '\\n';\n\n src += 'if(vTextureId <= -1.0) {';\n src += '\\n\\tcolor = shadowColor;';\n src += '\\n}';\n\n for (let i = 0; i < maxTextures; i++)\n {\n src += '\\nelse ';\n\n if (i < maxTextures - 1)\n {\n src += `if(textureId == ${i}.0)`;\n }\n\n src += '\\n{';\n src += `\\n\\tcolor = texture2D(uSamplers[${i}], textureCoord * uSamplerSize[${i}]);`;\n src += '\\n}';\n }\n\n src += '\\n';\n src += '\\n';\n\n return src;\n }\n\n /**\n * @internal\n * @ignore\n * @param shader\n * @param maxTextures\n */\n function fillSamplers(shader, maxTextures)\n {\n const sampleValues = [];\n\n for (let i = 0; i < maxTextures; i++)\n {\n sampleValues[i] = i;\n }\n\n shader.uniforms.uSamplers = sampleValues;\n\n const samplerSize = [];\n\n for (let i = 0; i < maxTextures; i++)\n {\n // These are overwritten by TileRenderer when textures actually bound.\n samplerSize.push(1.0 / 2048);\n samplerSize.push(1.0 / 2048);\n }\n\n shader.uniforms.uSamplerSize = samplerSize;\n }\n\n /**\n * @internal\n * @ignore\n * @param maxTextures\n * @param fragmentSrc\n * @returns\n */\n function generateFragmentSrc(maxTextures, fragmentSrc)\n {\n return fragmentSrc.replace(/%count%/gi, `${maxTextures}`)\n .replace(/%forloop%/gi, generateSampleSrc(maxTextures));\n }\n\n // eslint-disable-next-line @typescript-eslint/triple-slash-reference, spaced-comment\n\n const tilemapVertexTemplateSrc = `#version 100\nprecision highp float;\nattribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\nattribute vec4 aFrame;\nattribute vec2 aAnim;\nattribute float aAnimDivisor;\nattribute float aTextureId;\nattribute float aAlpha;\n\nuniform mat3 projTransMatrix;\nuniform vec2 animationFrame;\n\nvarying vec2 vTextureCoord;\nvarying float vTextureId;\nvarying vec4 vFrame;\nvarying float vAlpha;\n\nvoid main(void)\n{\n gl_Position = vec4((projTransMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vec2 animCount = floor((aAnim + 0.5) / 2048.0);\n vec2 animFrameOffset = aAnim - animCount * 2048.0;\n vec2 currentFrame = floor(animationFrame / aAnimDivisor);\n vec2 animOffset = animFrameOffset * floor(mod(currentFrame + 0.5, animCount));\n\n vTextureCoord = aTextureCoord + animOffset;\n vFrame = aFrame + vec4(animOffset, animOffset);\n vTextureId = aTextureId;\n vAlpha = aAlpha;\n}\n`;\n\n const tilemapFragmentTemplateSrc = `#version 100\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nvarying vec2 vTextureCoord;\nvarying vec4 vFrame;\nvarying float vTextureId;\nvarying float vAlpha;\nuniform vec4 shadowColor;\nuniform sampler2D uSamplers[%count%];\nuniform vec2 uSamplerSize[%count%];\n\nvoid main(void)\n{\n vec2 textureCoord = clamp(vTextureCoord, vFrame.xy, vFrame.zw);\n float textureId = floor(vTextureId + 0.5);\n\n vec4 color;\n %forloop%\n gl_FragColor = color * vAlpha;\n}\n`;\n\n // For some reason ESLint goes mad with indendation in this file ^&^\n /* eslint-disable no-mixed-spaces-and-tabs, indent */\n\n class TilemapShader extends core.Shader\n {\n \t__init() {this.maxTextures = 0;}\n\n \tconstructor(maxTextures)\n \t{\n \t super(\n \t new core.Program(\n \t\t\t\ttilemapVertexTemplateSrc,\n \t\t\t\tgenerateFragmentSrc(maxTextures, tilemapFragmentTemplateSrc)\n \t\t\t),\n \t {\n \t animationFrame: new Float32Array(2),\n \t uSamplers: [],\n \t uSamplerSize: [],\n \t projTransMatrix: new math.Matrix()\n \t }\n \t );TilemapShader.prototype.__init.call(this);;\n\n \t this.maxTextures = maxTextures;\n \t fillSamplers(this, this.maxTextures);\n \t}\n }\n\n class TilemapGeometry extends core.Geometry\n {\n \t__init2() {this.vertSize = 13;}\n \t__init3() {this.vertPerQuad = 4;}\n \t__init4() {this.stride = this.vertSize * 4;}\n \t__init5() {this.lastTimeAccess = 0;}\n\n \tconstructor()\n \t{\n \t super();TilemapGeometry.prototype.__init2.call(this);TilemapGeometry.prototype.__init3.call(this);TilemapGeometry.prototype.__init4.call(this);TilemapGeometry.prototype.__init5.call(this);;\n\n \t const buf = this.buf = new core.Buffer(new Float32Array(2), true, false);\n\n \t this.addAttribute('aVertexPosition', buf, 0, false, 0, this.stride, 0)\n \t .addAttribute('aTextureCoord', buf, 0, false, 0, this.stride, 2 * 4)\n \t .addAttribute('aFrame', buf, 0, false, 0, this.stride, 4 * 4)\n \t .addAttribute('aAnim', buf, 0, false, 0, this.stride, 8 * 4)\n \t .addAttribute('aTextureId', buf, 0, false, 0, this.stride, 10 * 4)\n .addAttribute('aAnimDivisor', buf, 0, false, 0, this.stride, 11 * 4)\n .addAttribute('aAlpha', buf, 0, false, 0, this.stride, 12 * 4);\n \t}\n\n \t\n }\n\n // For some reason ESLint goes mad with indendation in this file ^&^\n /* eslint-disable no-mixed-spaces-and-tabs, indent */\n\n /**\n * Rendering helper pipeline for tilemaps. This plugin is registered automatically.\n */\n class TileRenderer extends core.ObjectRenderer\n {\n \t/** The managing renderer */\n \t\n\n \t/** The tile animation frame */\n \t __init() {this.tileAnim = [0, 0];}\n\n \t __init2() {this.ibLen = 0;}// index buffer length\n\n \t/** The index buffer for the tilemaps to share. */\n \t __init3() {this.indexBuffer = null;}\n\n \t/** The shader used to render tilemaps. */\n \t\n\n \t/**\n \t * {@link TextileResource} instances used to upload textures batched in tiled groups. This is\n \t * used only if {@link settings.TEXTURES_PER_TILEMAP} is greater than 1.\n \t */\n \t __init4() {this.textiles = [];}\n\n \t/** @param renderer - The managing renderer */\n \tconstructor(renderer)\n \t{\n \t super(renderer);TileRenderer.prototype.__init.call(this);TileRenderer.prototype.__init2.call(this);TileRenderer.prototype.__init3.call(this);TileRenderer.prototype.__init4.call(this);;\n\n \t this.shader = new TilemapShader(settings.TEXTURES_PER_TILEMAP);\n \t this.indexBuffer = new core.Buffer(undefined, true, true);\n \t this.checkIndexBuffer(2000);\n \t this.makeTextiles();\n \t}\n\n \t/**\n \t * Binds the tile textures to the renderer, and updates the tilemap shader's `uSamplerSize` uniform.\n \t *\n \t * If {@link settings.TEXTILE_UNITS}\n \t *\n \t * @param renderer - The renderer to which the textures are to be bound.\n \t * @param textures - The tile textures being bound.\n \t */\n \tbindTileTextures(renderer, textures)\n \t{\n \t const len = textures.length;\n \t\tconst shader = this.shader;\n \t const maxTextures = settings.TEXTURES_PER_TILEMAP;\n \t\tconst samplerSize = shader.uniforms.uSamplerSize;\n\n \t if (len > settings.TEXTILE_UNITS * maxTextures)\n \t {\n \t\t\t// TODO: Show error message instead of silently failing!\n \t return;\n \t }\n\n \t\tif (settings.TEXTILE_UNITS <= 1)\n \t {\n \t\t\t// Bind each texture directly & update samplerSize.\n \t\t\tfor (let i = 0; i < textures.length; i++)\n \t\t\t{\n \t\t\t\tconst texture = textures[i];\n\n \t\t\t\tif (!texture || !texture.valid)\n \t\t\t\t{\n \t\t\t\t\treturn;\n \t\t\t\t}\n\n \t\t\t\trenderer.texture.bind(textures[i], i);\n\n \t\t\t\tsamplerSize[i * 2] = 1.0 / textures[i].realWidth;\n \t\t\t\tsamplerSize[(i * 2) + 1] = 1.0 / textures[i].realHeight;\n \t\t\t}\n \t }\n \t\telse\n \t\t{\n \t\t\t// Ensure we have enough textiles, in case settings.TEXTILE_UNITS was modified.\n \t\t\tthis.makeTextiles();\n\n \t\t\tconst usedTextiles = Math.ceil(len / settings.TEXTILE_UNITS);\n\n \t\t\t// First ensure each textile has all tiles point to the right textures.\n \t\t\tfor (let i = 0; i < len; i++)\n \t\t\t{\n \t\t\t\tconst texture = textures[i];\n\n \t\t\t\tif (texture && texture.valid)\n \t\t\t\t{\n \t\t\t\t\tconst resourceIndex = Math.floor(i / settings.TEXTILE_UNITS);\n \t\t\t\t\tconst tileIndex = i % settings.TEXTILE_UNITS;\n\n \t\t\t\t\tthis.textiles[resourceIndex].tile(tileIndex, texture);\n \t\t\t\t}\n \t\t\t}\n\n \t\t\t// Then bind the textiles + update samplerSize.\n \t\t\tfor (let i = 0; i < usedTextiles; i++)\n \t\t\t{\n \t\t\t\trenderer.texture.bind(this.textiles[i].baseTexture, i);\n\n \t\t\t\tsamplerSize[i * 2] = 1.0 / this.textiles[i].width;\n \t\t\t\tsamplerSize[(i * 2) + 1] = 1.0 / this.textiles[i].baseTexture.height;\n \t\t\t}\n \t\t}\n\n \t\tshader.uniforms.uSamplerSize = samplerSize;\n \t}\n\n \tstart()\n \t{\n \t // sorry, nothing\n \t}\n\n \t/**\n \t * @internal\n \t * @ignore\n \t */\n \tcreateVb()\n \t{\n \t const geom = new TilemapGeometry();\n\n \t geom.addIndex(this.indexBuffer);\n \t geom.lastTimeAccess = Date.now();\n\n \t return geom;\n \t}\n\n \t/** @return The {@link TilemapShader} shader that this rendering pipeline is using. */\n \tgetShader() { return this.shader; }\n\n \tdestroy()\n \t{\n \t super.destroy();\n \t // this.rectShader.destroy();\n \t this.shader = null;\n \t}\n\n \t checkIndexBuffer(size, _vb = null)\n \t{\n \t const totalIndices = size * 6;\n\n \t if (totalIndices <= this.ibLen)\n \t {\n \t return;\n \t }\n\n \t let len = totalIndices;\n\n \t while (len < totalIndices)\n \t {\n \t len <<= 1;\n \t }\n\n \t this.ibLen = totalIndices;\n // This is needed because the IDE and the Runtime doesn't use the same namespace.\n const createIndicesForQuads = utils.createIndicesForQuads || utils.utils.createIndicesForQuads;\n \t this.indexBuffer.update(createIndicesForQuads(size,\n \t settings.use32bitIndex ? new Uint32Array(size * 6) : undefined));\n\n \t // \tTODO: create new index buffer instead?\n \t // if (vb) {\n \t // \tconst curIndex = vb.getIndex();\n \t // \tif (curIndex !== this.indexBuffer && (curIndex.data as any).length < totalIndices) {\n \t // \t\tthis.swapIndex(vb, this.indexBuffer);\n \t // \t}\n \t // }\n \t}\n\n \t/** Makes textile resources and initializes {@link TileRenderer.textiles}. */\n \t makeTextiles()\n \t{\n \t if (settings.TEXTILE_UNITS <= 1)\n \t {\n \t return;\n \t }\n\n \t for (let i = 0; i < settings.TEXTILE_UNITS; i++)\n \t {\n \t\t\tif (this.textiles[i]) continue;\n\n \t\t\tconst resource = new TextileResource();\n \t const baseTex = new core.BaseTexture(resource);\n\n \t baseTex.scaleMode = settings.TEXTILE_SCALE_MODE;\n \t baseTex.wrapMode = constants.WRAP_MODES.CLAMP;\n\n \t\t\tthis.textiles[i] = resource;\n \t }\n \t}\n }\n\n // eslint-disable-next-line camelcase\n const pixi_tilemap = {\n CanvasTileRenderer,\n CompositeRectTileLayer: CompositeTilemap,\n CompositeTilemap,\n Constant,\n TextileResource,\n MultiTextureResource: TextileResource,\n RectTileLayer: Tilemap,\n Tilemap,\n TilemapShader,\n TilemapGeometry,\n RectTileShader: TilemapShader,\n RectTileGeom: TilemapGeometry,\n TileRenderer,\n };\n\n core.Renderer.registerPlugin('tilemap', TileRenderer );\n\n exports.CanvasTileRenderer = CanvasTileRenderer;\n exports.CompositeRectTileLayer = CompositeTilemap;\n exports.CompositeTilemap = CompositeTilemap;\n exports.Constant = Constant;\n exports.POINT_STRUCT_SIZE = POINT_STRUCT_SIZE;\n exports.RectTileLayer = Tilemap;\n exports.TextileResource = TextileResource;\n exports.TileRenderer = TileRenderer;\n exports.Tilemap = Tilemap;\n exports.TilemapGeometry = TilemapGeometry;\n exports.TilemapShader = TilemapShader;\n exports.fillSamplers = fillSamplers;\n exports.generateFragmentSrc = generateFragmentSrc;\n exports.pixi_tilemap = pixi_tilemap;\n exports.settings = settings;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\nif (typeof _pixi_tilemap !== 'undefined') { Object.assign(this.PIXI.tilemap, _pixi_tilemap); }\n// Disabled to avoid warnings in Chrome (see https://github.com/4ian/GDevelop/pull/3947)\n// //# sourceMappingURL=pixi-tilemap.umd.js.map\n"],
5
+ "mappings": "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",
6
+ "names": ["global", "factory", "exports", "display", "core", "constants", "math", "utils", "CanvasTileRenderer", "renderer", "settings", "value", "Constant", "_nullishCoalesce", "lhs", "rhsFn", "POINT_STRUCT", "V", "X", "Y", "TILE_WIDTH", "TILE_HEIGHT", "ROTATE", "ANIM_X", "ANIM_Y", "TEXTURE_INDEX", "ANIM_COUNT_X", "ANIM_COUNT_Y", "ANIM_DIVISOR", "ALPHA", "POINT_STRUCT_SIZE", "Tilemap", "tileset", "tileTexture", "x", "y", "options", "baseTexture", "textureIndex", "texture", "textureList", "i", "u", "v", "tileWidth", "tileHeight", "animX", "animY", "rotate", "animCountX", "animCountY", "animDivisor", "alpha", "pb", "offset", "count", "divisor", "plugin", "wt", "points", "tileAnim", "n", "x1", "y1", "x2", "y2", "w", "h", "shader", "rectsCount", "textures", "vb", "boundCountPerBuffer", "vertexBuf", "vertices", "vs", "bk", "arr", "sz", "textureId", "shiftU", "shiftV", "animWidth", "animHeight", "animXEncoded", "animYEncoded", "u0", "v0", "u1", "v1", "u2", "v2", "u3", "v3", "w2", "h2", "cX", "cY", "anim", "minX", "minY", "maxX", "maxY", "rect", "CompositeTilemap", "tileTextures", "texPerChild", "len1", "len2", "tilemap", "children", "childIndex", "tileIndex", "child", "tex", "j", "tilemapPlugin", "layers", "layer", "TextileResource", "tiles", "index", "tile", "glTexture", "gl", "width", "height", "doClear", "spr", "res", "generateSampleSrc", "maxTextures", "src", "fillSamplers", "sampleValues", "samplerSize", "generateFragmentSrc", "fragmentSrc", "tilemapVertexTemplateSrc", "tilemapFragmentTemplateSrc", "TilemapShader", "TilemapGeometry", "buf", "TileRenderer", "len", "usedTextiles", "resourceIndex", "geom", "size", "_vb", "totalIndices", "createIndicesForQuads", "resource", "baseTex", "pixi_tilemap"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var gdjs;(s=>{class d extends s.RuntimeObject{_tilemapJsonFile;_tilesetJsonFile;_renderer;_collisionTileMap;_collisionMaskTag;_tileMapManager;_debugMode;_fillColor;_outlineColor;_fillOpacity;_outlineOpacity;_outlineSize;_width;_height;_scaleX;_scaleY;_transformationIsUpToDate=!1;constructor(i,t){super(i,t),this._tilemapJsonFile=t.content.tilemapJsonFile,this._tilesetJsonFile=t.content.tilesetJsonFile,this._collisionMaskTag=t.content.collisionMaskTag,this._debugMode=t.content.debugMode,this._fillColor=s.rgbOrHexStringToNumber(t.content.fillColor),this._outlineColor=s.rgbOrHexStringToNumber(t.content.outlineColor),this._fillOpacity=t.content.fillOpacity,this._outlineOpacity=t.content.outlineOpacity,this._outlineSize=t.content.outlineSize,this._tileMapManager=s.TileMap.TileMapRuntimeManager.getManager(i),this._width=0,this._height=0,this._scaleX=1,this._scaleY=1;const o=new TileMapHelper.EditableTileMap(1,1,0,0,new Map);this._collisionTileMap=new s.TileMap.TransformedCollisionTileMap(o,this._collisionMaskTag),this._renderer=new s.TileMap.TileMapCollisionMaskRenderer(this,i),this._updateTileMap(),this.onCreated()}updatePreRender(i){super.updatePreRender(i),this._debugMode&&this.hitBoxesDirty&&this.updateHitBoxes()}getRendererObject(){return this._renderer.getRendererObject()}getVisibilityAABB(){return null}updateFromObjectData(i,t){return i.content.tilemapJsonFile!==t.content.tilemapJsonFile&&this.setTilemapJsonFile(t.content.tilemapJsonFile),i.content.tilesetJsonFile!==t.content.tilesetJsonFile&&this.setTilesetJsonFile(t.content.tilesetJsonFile),i.content.debugMode!==t.content.debugMode&&this.setDebugMode(t.content.debugMode),i.content.fillColor!==t.content.fillColor&&this.setFillColor(s.rgbOrHexStringToNumber(t.content.fillColor)),i.content.outlineColor!==t.content.outlineColor&&this.setOutlineColor(s.rgbOrHexStringToNumber(t.content.outlineColor)),i.fillOpacity!==t.fillOpacity&&this.setFillOpacity(t.fillOpacity),i.outlineOpacity!==t.outlineOpacity&&this.setOutlineOpacity(t.outlineOpacity),i.outlineSize!==t.outlineSize&&this.setOutlineSize(t.outlineSize),!0}extraInitializationFromInitialInstance(i){i.customSize&&(this.setWidth(i.width),this.setHeight(i.height))}_updateTileMap(){this._tileMapManager.getOrLoadTileMap(this._tilemapJsonFile,this._tilesetJsonFile,0,i=>{i&&(this._collisionTileMap=new s.TileMap.TransformedCollisionTileMap(i,this._collisionMaskTag),this.hitBoxes=Array.from(this._collisionTileMap.getAllHitboxes(this._collisionMaskTag)),this._renderer.redrawCollisionMask(),this._width=this._collisionTileMap.getWidth()*this._scaleX,this._height=this._collisionTileMap.getHeight()*this._scaleY)})}updateHitBoxes(){this.updateTransformation();for(const i of this._collisionTileMap.getAllHitboxes(this._collisionMaskTag));this.hitBoxesDirty=!1,this._renderer.redrawCollisionMask(),this.updateAABB()}updateTransformation(){if(this._transformationIsUpToDate)return;const i=this._collisionTileMap.getTransformation(),t=Math.abs(this._scaleX),o=Math.abs(this._scaleY);i.setToIdentity(),i.translate(this.x,this.y);const l=this.angle*Math.PI/180;i.rotateAround(l,this.getCenterX(),this.getCenterY()),i.scale(t,o),this._collisionTileMap.setTransformation(i),this._transformationIsUpToDate=!0}getHitBoxes(){return this.hitBoxesDirty&&(this.updateHitBoxes(),this.updateAABB(),this.hitBoxesDirty=!1),this.hitBoxes}getHitBoxesAround(i,t,o,l){return this.updateTransformation(),this._collisionTileMap.getHitboxesAround(this._collisionMaskTag,i,t,o,l)}insideObject(i,t){return this.updateTransformation(),this._collisionTileMap.pointIsInsideTile(i,t,this._collisionMaskTag)}updateAABB(){if(this.getAngle()===0)this.aabb.min[0]=this.x,this.aabb.min[1]=this.y,this.aabb.max[0]=this.aabb.min[0]+this.getWidth(),this.aabb.max[1]=this.aabb.min[1]+this.getHeight();else{const i=this._collisionTileMap.getTransformation(),t=0,o=this._collisionTileMap.getWidth(),l=0,n=this._collisionTileMap.getHeight(),e=this.aabb.min;e[0]=t,e[1]=l,i.transform(e,e);const a=e[0],r=e[1];e[0]=o,e[1]=l,i.transform(e,e);const h=e[0],p=e[1];e[0]=o,e[1]=n,i.transform(e,e);const g=e[0],_=e[1];e[0]=t,e[1]=n,i.transform(e,e);const u=e[0],f=e[1];this.aabb.min[0]=Math.min(a,h,g,u),this.aabb.max[0]=Math.max(a,h,g,u),this.aabb.min[1]=Math.min(r,p,_,f),this.aabb.max[1]=Math.max(r,p,_,f)}}setTilemapJsonFile(i){this._tilemapJsonFile=i,this._updateTileMap()}getTilemapJsonFile(){return this._tilemapJsonFile}isTilemapJsonFile(i){return this._tilemapJsonFile===i}setTilesetJsonFile(i){this._tilesetJsonFile=i,this._updateTileMap()}getTilesetJsonFile(){return this._tilesetJsonFile}isTilesetJsonFile(i){return this._tilesetJsonFile===i}getDebugMode(){return this._debugMode}setDebugMode(i){this._debugMode=i,this._renderer.redrawCollisionMask()}getFillColor(){return this._fillColor}getOutlineColor(){return this._outlineColor}setFillColor(i){this._fillColor=i}setOutlineColor(i){this._outlineColor=i}setOutlineSize(i){this._outlineSize=i}getOutlineSize(){return this._outlineSize}setFillOpacity(i){this._fillOpacity=i}getFillOpacity(){return this._fillOpacity}setOutlineOpacity(i){this._outlineOpacity=i}getOutlineOpacity(){return this._outlineOpacity}setX(i){super.setX(i),this._transformationIsUpToDate=!1}setY(i){super.setY(i),this._transformationIsUpToDate=!1}setAngle(i){super.setAngle(i),this._transformationIsUpToDate=!1}setWidth(i){this._width!==i&&(this._scaleX=i/this._collisionTileMap.getWidth(),this._width=i,this._transformationIsUpToDate=!1,this.invalidateHitboxes())}setHeight(i){this._height!==i&&(this._scaleY=i/this._collisionTileMap.getHeight(),this._height=i,this._transformationIsUpToDate=!1,this.invalidateHitboxes())}getScale(){const i=this.getScaleX(),t=this.getScaleY();return i===t?i:Math.sqrt(i*t)}setScale(i){this.setScaleX(i),this.setScaleY(i)}setScaleX(i){i<0&&(i=0),this._scaleX!==i&&(this._scaleX=i,this._width=i*this._collisionTileMap.getWidth(),this._transformationIsUpToDate=!1,this.invalidateHitboxes())}setScaleY(i){i<0&&(i=0),this._scaleY!==i&&(this._scaleY=i,this._height=i*this._collisionTileMap.getHeight(),this._transformationIsUpToDate=!1,this.invalidateHitboxes())}getWidth(){return this._width}getHeight(){return this._height}getScaleX(){return this._scaleX}getScaleY(){return this._scaleY}}s.TileMapCollisionMaskRuntimeObject=d,s.registerObject("TileMap::CollisionMask",s.TileMapCollisionMaskRuntimeObject),d.supportsReinitialization=!1})(gdjs||={});
2
+ //# sourceMappingURL=tilemapcollisionmaskruntimeobject.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../GDevelop/Extensions/TileMap/tilemapcollisionmaskruntimeobject.ts"],
4
+ "sourcesContent": ["/// <reference path=\"helper/TileMapHelper.d.ts\" />\nnamespace gdjs {\n /**\n * An object that handle hitboxes for a tile map.\n * @extends gdjs.RuntimeObject\n */\n export class TileMapCollisionMaskRuntimeObject extends gdjs.RuntimeObject {\n private _tilemapJsonFile: string;\n private _tilesetJsonFile: string;\n private _renderer: gdjs.TileMap.TileMapCollisionMaskRenderer;\n _collisionTileMap: gdjs.TileMap.TransformedCollisionTileMap;\n /**\n * The tiles are filtered according to this tag.\n *\n * This allows have multiple objects with different usage\n * for the same tile map.\n * For instance, platforms, jumpthru, ladder, spike, water...\n */\n private _collisionMaskTag: string;\n private _tileMapManager: gdjs.TileMap.TileMapRuntimeManager;\n\n /**\n * When set to true, the hitboxes will be shown.\n */\n _debugMode: boolean;\n _fillColor: integer;\n _outlineColor: integer;\n _fillOpacity: float;\n _outlineOpacity: float;\n _outlineSize: float;\n\n _width: float;\n _height: float;\n _scaleX: float;\n _scaleY: float;\n\n /**\n * If the owner moves, the hitboxes vertices\n * will have to be transformed again.\n */\n private _transformationIsUpToDate: boolean = false;\n\n constructor(instanceContainer: gdjs.RuntimeInstanceContainer, objectData) {\n super(instanceContainer, objectData);\n this._tilemapJsonFile = objectData.content.tilemapJsonFile;\n this._tilesetJsonFile = objectData.content.tilesetJsonFile;\n this._collisionMaskTag = objectData.content.collisionMaskTag;\n this._debugMode = objectData.content.debugMode;\n this._fillColor = gdjs.rgbOrHexStringToNumber(\n objectData.content.fillColor\n );\n this._outlineColor = gdjs.rgbOrHexStringToNumber(\n objectData.content.outlineColor\n );\n this._fillOpacity = objectData.content.fillOpacity;\n this._outlineOpacity = objectData.content.outlineOpacity;\n this._outlineSize = objectData.content.outlineSize;\n this._tileMapManager = gdjs.TileMap.TileMapRuntimeManager.getManager(\n instanceContainer\n );\n\n // The actual size is set when the tile map file is loaded.\n this._width = 0;\n this._height = 0;\n this._scaleX = 1;\n this._scaleY = 1;\n const editableTileMap = new TileMapHelper.EditableTileMap(\n 1,\n 1,\n 0,\n 0,\n new Map()\n );\n this._collisionTileMap = new gdjs.TileMap.TransformedCollisionTileMap(\n editableTileMap,\n this._collisionMaskTag\n );\n\n this._renderer = new gdjs.TileMap.TileMapCollisionMaskRenderer(\n this,\n instanceContainer\n );\n this._updateTileMap();\n\n // *ALWAYS* call `this.onCreated()` at the very end of your object constructor.\n this.onCreated();\n }\n\n updatePreRender(instanceContainer: gdjs.RuntimeInstanceContainer) {\n super.updatePreRender(instanceContainer);\n\n if (this._debugMode && this.hitBoxesDirty) {\n this.updateHitBoxes();\n }\n }\n\n getRendererObject() {\n return this._renderer.getRendererObject();\n }\n\n getVisibilityAABB() {\n return null;\n }\n\n updateFromObjectData(oldObjectData: any, newObjectData: any): boolean {\n if (\n oldObjectData.content.tilemapJsonFile !==\n newObjectData.content.tilemapJsonFile\n ) {\n this.setTilemapJsonFile(newObjectData.content.tilemapJsonFile);\n }\n if (\n oldObjectData.content.tilesetJsonFile !==\n newObjectData.content.tilesetJsonFile\n ) {\n this.setTilesetJsonFile(newObjectData.content.tilesetJsonFile);\n }\n if (oldObjectData.content.debugMode !== newObjectData.content.debugMode) {\n this.setDebugMode(newObjectData.content.debugMode);\n }\n if (oldObjectData.content.fillColor !== newObjectData.content.fillColor) {\n this.setFillColor(\n gdjs.rgbOrHexStringToNumber(newObjectData.content.fillColor)\n );\n }\n if (\n oldObjectData.content.outlineColor !==\n newObjectData.content.outlineColor\n ) {\n this.setOutlineColor(\n gdjs.rgbOrHexStringToNumber(newObjectData.content.outlineColor)\n );\n }\n if (oldObjectData.fillOpacity !== newObjectData.fillOpacity) {\n this.setFillOpacity(newObjectData.fillOpacity);\n }\n if (oldObjectData.outlineOpacity !== newObjectData.outlineOpacity) {\n this.setOutlineOpacity(newObjectData.outlineOpacity);\n }\n if (oldObjectData.outlineSize !== newObjectData.outlineSize) {\n this.setOutlineSize(newObjectData.outlineSize);\n }\n return true;\n }\n\n extraInitializationFromInitialInstance(initialInstanceData): void {\n if (initialInstanceData.customSize) {\n this.setWidth(initialInstanceData.width);\n this.setHeight(initialInstanceData.height);\n }\n }\n\n private _updateTileMap(): void {\n this._tileMapManager.getOrLoadTileMap(\n this._tilemapJsonFile,\n this._tilesetJsonFile,\n 0, // levelIndex\n (tileMap: TileMapHelper.EditableTileMap | null) => {\n if (!tileMap) {\n // getOrLoadTileMap already log errors.\n return;\n }\n\n this._collisionTileMap = new gdjs.TileMap.TransformedCollisionTileMap(\n tileMap,\n this._collisionMaskTag\n );\n // The tile map polygons always keep the same references.\n // It works because the tilemap is never modified.\n this.hitBoxes = Array.from(\n this._collisionTileMap.getAllHitboxes(this._collisionMaskTag)\n );\n this._renderer.redrawCollisionMask();\n\n this._width = this._collisionTileMap.getWidth() * this._scaleX;\n this._height = this._collisionTileMap.getHeight() * this._scaleY;\n }\n );\n }\n\n updateHitBoxes(): void {\n this.updateTransformation();\n // Update the RuntimeObject hitboxes attribute.\n for (const _ of this._collisionTileMap.getAllHitboxes(\n this._collisionMaskTag\n )) {\n // RuntimeObject.hitBoxes contains the same polygons instances as the\n // hitboxes from the tiles.\n //\n // When hitboxes for a tile is asked to the model, they are updated\n // according to the new object location if needed.\n // Iterating over all the tiles forces them to update their hitboxes.\n //\n // The hitboxes array is built by _updateTileMap().\n }\n this.hitBoxesDirty = false;\n this._renderer.redrawCollisionMask();\n this.updateAABB();\n }\n\n /**\n * Update the affine transformation according to the object position, size\n * and angle.\n */\n updateTransformation(): void {\n if (this._transformationIsUpToDate) {\n return;\n }\n const transformation = this._collisionTileMap.getTransformation();\n\n const absScaleX = Math.abs(this._scaleX);\n const absScaleY = Math.abs(this._scaleY);\n\n transformation.setToIdentity();\n\n // Translation\n transformation.translate(this.x, this.y);\n\n // Rotation\n const angleInRadians = (this.angle * Math.PI) / 180;\n transformation.rotateAround(\n angleInRadians,\n this.getCenterX(),\n this.getCenterY()\n );\n\n // Scale\n transformation.scale(absScaleX, absScaleY);\n\n this._collisionTileMap.setTransformation(transformation);\n\n this._transformationIsUpToDate = true;\n }\n\n /**\n * This method is expensive and should not be called.\n * Prefer using {@link getHitBoxesAround} rather than getHitBoxes.\n */\n getHitBoxes(): gdjs.Polygon[] {\n if (this.hitBoxesDirty) {\n this.updateHitBoxes();\n this.updateAABB();\n this.hitBoxesDirty = false;\n }\n return this.hitBoxes;\n }\n\n getHitBoxesAround(left: float, top: float, right: float, bottom: float) {\n // This implementation doesn't call updateHitBoxes.\n // It's important for good performances because there is no need to\n // update the whole collision mask where only a few hitboxes must be\n // checked.\n this.updateTransformation();\n return this._collisionTileMap.getHitboxesAround(\n this._collisionMaskTag,\n left,\n top,\n right,\n bottom\n );\n }\n\n /**\n * insideObject usually use the AABB of the object.\n * But, in case of a tile map, it makes more sense to look each tile individually.\n * It returns true when there is an hitbox in the tile.\n */\n insideObject(x: float, y: float): boolean {\n this.updateTransformation();\n // This is more precise than the default implementation.\n return this._collisionTileMap.pointIsInsideTile(\n x,\n y,\n this._collisionMaskTag\n );\n }\n\n // This implementation doesn't use updateHitBoxes.\n // It's important for good performances.\n updateAABB(): void {\n if (this.getAngle() === 0) {\n // Fast computation of AABB for non rotated object\n this.aabb.min[0] = this.x;\n this.aabb.min[1] = this.y;\n this.aabb.max[0] = this.aabb.min[0] + this.getWidth();\n this.aabb.max[1] = this.aabb.min[1] + this.getHeight();\n } else {\n const affineTransformation = this._collisionTileMap.getTransformation();\n\n const left = 0;\n const right = this._collisionTileMap.getWidth();\n const top = 0;\n const bottom = this._collisionTileMap.getHeight();\n\n const workingPoint = this.aabb.min;\n\n workingPoint[0] = left;\n workingPoint[1] = top;\n affineTransformation.transform(workingPoint, workingPoint);\n const topLeftX = workingPoint[0];\n const topLeftY = workingPoint[1];\n\n workingPoint[0] = right;\n workingPoint[1] = top;\n affineTransformation.transform(workingPoint, workingPoint);\n const topRightX = workingPoint[0];\n const topRightY = workingPoint[1];\n\n workingPoint[0] = right;\n workingPoint[1] = bottom;\n affineTransformation.transform(workingPoint, workingPoint);\n const bottomRightX = workingPoint[0];\n const bottomRightY = workingPoint[1];\n\n workingPoint[0] = left;\n workingPoint[1] = bottom;\n affineTransformation.transform(workingPoint, workingPoint);\n const bottomLeftX = workingPoint[0];\n const bottomLeftY = workingPoint[1];\n\n this.aabb.min[0] = Math.min(\n topLeftX,\n topRightX,\n bottomRightX,\n bottomLeftX\n );\n this.aabb.max[0] = Math.max(\n topLeftX,\n topRightX,\n bottomRightX,\n bottomLeftX\n );\n this.aabb.min[1] = Math.min(\n topLeftY,\n topRightY,\n bottomRightY,\n bottomLeftY\n );\n this.aabb.max[1] = Math.max(\n topLeftY,\n topRightY,\n bottomRightY,\n bottomLeftY\n );\n }\n }\n\n /**\n * Set the Tilemap json file to display.\n */\n setTilemapJsonFile(tilemapJsonFile: string): void {\n this._tilemapJsonFile = tilemapJsonFile;\n this._updateTileMap();\n }\n\n getTilemapJsonFile(): string {\n return this._tilemapJsonFile;\n }\n\n isTilemapJsonFile(selectedTilemapJsonFile: string): boolean {\n return this._tilemapJsonFile === selectedTilemapJsonFile;\n }\n\n setTilesetJsonFile(tilesetJsonFile: string) {\n this._tilesetJsonFile = tilesetJsonFile;\n this._updateTileMap();\n }\n\n getTilesetJsonFile(): string {\n return this._tilesetJsonFile;\n }\n\n isTilesetJsonFile(selectedTilesetJsonFile: string): boolean {\n return this._tilesetJsonFile === selectedTilesetJsonFile;\n }\n\n /**\n * @returns true if the hitboxes are shown.\n */\n getDebugMode(): boolean {\n return this._debugMode;\n }\n\n /**\n * @returns true if the hitboxes are shown.\n */\n setDebugMode(debugMode: boolean): void {\n this._debugMode = debugMode;\n this._renderer.redrawCollisionMask();\n }\n\n getFillColor(): integer {\n return this._fillColor;\n }\n\n getOutlineColor(): integer {\n return this._outlineColor;\n }\n\n setFillColor(fillColor: integer): void {\n this._fillColor = fillColor;\n }\n\n setOutlineColor(outlineColor: integer): void {\n this._outlineColor = outlineColor;\n }\n\n setOutlineSize(size: float): void {\n this._outlineSize = size;\n }\n\n getOutlineSize(): float {\n return this._outlineSize;\n }\n\n /**\n *\n * @param opacity from 0 to 255\n */\n setFillOpacity(opacity: float): void {\n this._fillOpacity = opacity;\n }\n\n /**\n *\n * @returns an opacity value from 0 to 255.\n */\n getFillOpacity(): float {\n return this._fillOpacity;\n }\n\n /**\n *\n * @param opacity from 0 to 255\n */\n setOutlineOpacity(opacity: float): void {\n this._outlineOpacity = opacity;\n }\n\n /**\n *\n * @returns an opacity value from 0 to 255.\n */\n getOutlineOpacity(): float {\n return this._outlineOpacity;\n }\n\n setX(x: float): void {\n super.setX(x);\n this._transformationIsUpToDate = false;\n }\n\n setY(y: float): void {\n super.setY(y);\n this._transformationIsUpToDate = false;\n }\n\n setAngle(angle: float): void {\n super.setAngle(angle);\n this._transformationIsUpToDate = false;\n }\n\n /**\n * Change the width of the object. This changes the scale on X axis of the object.\n *\n * @param width The new width of the object, in pixels.\n */\n setWidth(width: float): void {\n if (this._width === width) {\n return;\n }\n this._scaleX = width / this._collisionTileMap.getWidth();\n this._width = width;\n this._transformationIsUpToDate = false;\n this.invalidateHitboxes();\n }\n\n /**\n * Change the height of the object. This changes the scale on Y axis of the object.\n *\n * @param height The new height of the object, in pixels.\n */\n setHeight(height: float): void {\n if (this._height === height) {\n return;\n }\n this._scaleY = height / this._collisionTileMap.getHeight();\n this._height = height;\n this._transformationIsUpToDate = false;\n this.invalidateHitboxes();\n }\n\n /**\n * Get the scale of the object (or the geometric mean of the X and Y scale in case they are different).\n *\n * @return the scale of the object (or the geometric mean of the X and Y scale in case they are different).\n */\n getScale(): number {\n const scaleX = this.getScaleX();\n const scaleY = this.getScaleY();\n return scaleX === scaleY ? scaleX : Math.sqrt(scaleX * scaleY);\n }\n\n /**\n * Change the scale on X and Y axis of the object.\n *\n * @param scale The new scale (must be greater than 0).\n */\n setScale(scale: float): void {\n this.setScaleX(scale);\n this.setScaleY(scale);\n }\n\n /**\n * Change the scale on X axis of the object (changing its width).\n *\n * @param scaleX The new scale (must be greater than 0).\n */\n setScaleX(scaleX: float): void {\n if (scaleX < 0) {\n scaleX = 0;\n }\n if (this._scaleX === scaleX) {\n return;\n }\n this._scaleX = scaleX;\n this._width = scaleX * this._collisionTileMap.getWidth();\n this._transformationIsUpToDate = false;\n this.invalidateHitboxes();\n }\n\n /**\n * Change the scale on Y axis of the object (changing its width).\n *\n * @param scaleY The new scale (must be greater than 0).\n */\n setScaleY(scaleY: float): void {\n if (scaleY < 0) {\n scaleY = 0;\n }\n if (this._scaleY === scaleY) {\n return;\n }\n this._scaleY = scaleY;\n this._height = scaleY * this._collisionTileMap.getHeight();\n this._transformationIsUpToDate = false;\n this.invalidateHitboxes();\n }\n\n getWidth(): float {\n return this._width;\n }\n\n getHeight(): float {\n return this._height;\n }\n\n getScaleX(): float {\n return this._scaleX;\n }\n\n getScaleY(): float {\n return this._scaleY;\n }\n }\n gdjs.registerObject(\n 'TileMap::CollisionMask',\n gdjs.TileMapCollisionMaskRuntimeObject\n );\n TileMapCollisionMaskRuntimeObject.supportsReinitialization = false;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["gdjs", "TileMapCollisionMaskRuntimeObject", "instanceContainer", "objectData", "editableTileMap", "oldObjectData", "newObjectData", "initialInstanceData", "tileMap", "_", "transformation", "absScaleX", "absScaleY", "angleInRadians", "left", "top", "right", "bottom", "x", "y", "affineTransformation", "workingPoint", "topLeftX", "topLeftY", "topRightX", "topRightY", "bottomRightX", "bottomRightY", "bottomLeftX", "bottomLeftY", "tilemapJsonFile", "selectedTilemapJsonFile", "tilesetJsonFile", "selectedTilesetJsonFile", "debugMode", "fillColor", "outlineColor", "size", "opacity", "angle", "width", "height", "scaleX", "scaleY", "scale"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var gdjs;(e=>{class p{_object;_tileMap=null;_pixiObject;constructor(t,i){this._object=t,PIXI.tilemap.settings.use32bitIndex=!0,this._pixiObject=new PIXI.tilemap.CompositeTilemap,this._pixiObject.tileAnim=[0,0],i.getLayer("").getRenderer().addRendererObject(this._pixiObject,t.getZOrder()),this.updateAngle(),this.updateOpacity(),this.updatePosition()}getRendererObject(){return this._pixiObject}incrementAnimationFrameX(t){this._pixiObject.tileAnim[0]+=1}updatePixiTileMap(t,i){this._tileMap=t,TileMapHelper.PixiTileMapHelper.updatePixiTileMap(this._pixiObject,t,i,this._object._displayMode,this._object._layerIndex)}updatePosition(){this._pixiObject.pivot.x=this.getTileMapWidth()/2,this._pixiObject.pivot.y=this.getTileMapHeight()/2,this._pixiObject.position.x=this._object.x+this.getWidth()/2,this._pixiObject.position.y=this._object.y+this.getHeight()/2}updateAngle(){this._pixiObject.rotation=e.toRad(this._object.angle)}updateOpacity(){this._pixiObject.alpha=this._object._opacity/255}getTileMapWidth(){const t=this._tileMap;return t?t.getWidth():20}getTileMapHeight(){const t=this._tileMap;return t?t.getHeight():20}setWidth(t){this._pixiObject.scale.x=t/this.getTileMapWidth(),this._pixiObject.position.x=this._object.x+t/2}setHeight(t){this._pixiObject.scale.y=t/this.getTileMapHeight(),this._pixiObject.position.y=this._object.y+t/2}setScaleX(t){this._pixiObject.scale.x=t;const i=t*this.getTileMapWidth();this._pixiObject.position.x=this._object.x+i/2}setScaleY(t){this._pixiObject.scale.y=t;const i=t*this.getTileMapHeight();this._pixiObject.position.y=this._object.y+i/2}getWidth(){return this.getTileMapWidth()*this._pixiObject.scale.x}getHeight(){return this.getTileMapHeight()*this._pixiObject.scale.y}getScaleX(){return this._pixiObject.scale.x}getScaleY(){return this._pixiObject.scale.y}}e.TileMapRuntimeObjectPixiRenderer=p,e.TileMapRuntimeObjectRenderer=e.TileMapRuntimeObjectPixiRenderer})(gdjs||={});
2
+ //# sourceMappingURL=tilemapruntimeobject-pixi-renderer.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../GDevelop/Extensions/TileMap/tilemapruntimeobject-pixi-renderer.ts"],
4
+ "sourcesContent": ["/// <reference path=\"helper/TileMapHelper.d.ts\" />\n/// <reference path=\"pixi-tilemap/dist/pixi-tilemap.d.ts\" />\nnamespace gdjs {\n /**\n * The PIXI.js renderer for the Tile map runtime object.\n *\n * @class TileMapRuntimeObjectPixiRenderer\n */\n export class TileMapRuntimeObjectPixiRenderer {\n private _object: any;\n private _tileMap: TileMapHelper.EditableTileMap | null = null;\n\n private _pixiObject: PIXI.tilemap.CompositeTilemap;\n\n /**\n * @param runtimeObject The object to render\n * @param instanceContainer The gdjs.RuntimeScene in which the object is\n */\n constructor(\n runtimeObject: gdjs.TileMapRuntimeObject,\n instanceContainer: gdjs.RuntimeInstanceContainer\n ) {\n this._object = runtimeObject;\n\n // This setting allows tile maps with more than 16K tiles.\n PIXI.tilemap.settings.use32bitIndex = true;\n\n // Load (or reset)\n this._pixiObject = new PIXI.tilemap.CompositeTilemap();\n this._pixiObject.tileAnim = [0, 0];\n\n instanceContainer\n .getLayer('')\n .getRenderer()\n .addRendererObject(this._pixiObject, runtimeObject.getZOrder());\n this.updateAngle();\n this.updateOpacity();\n this.updatePosition();\n }\n\n getRendererObject() {\n return this._pixiObject;\n }\n\n incrementAnimationFrameX(instanceContainer: gdjs.RuntimeInstanceContainer) {\n this._pixiObject.tileAnim[0] += 1;\n }\n\n updatePixiTileMap(\n tileMap: TileMapHelper.EditableTileMap,\n textureCache: TileMapHelper.TileTextureCache\n ) {\n this._tileMap = tileMap;\n TileMapHelper.PixiTileMapHelper.updatePixiTileMap(\n this._pixiObject,\n tileMap,\n textureCache,\n this._object._displayMode,\n this._object._layerIndex\n );\n }\n\n updatePosition(): void {\n this._pixiObject.pivot.x = this.getTileMapWidth() / 2;\n this._pixiObject.pivot.y = this.getTileMapHeight() / 2;\n this._pixiObject.position.x = this._object.x + this.getWidth() / 2;\n this._pixiObject.position.y = this._object.y + this.getHeight() / 2;\n }\n\n updateAngle(): void {\n this._pixiObject.rotation = gdjs.toRad(this._object.angle);\n }\n\n updateOpacity(): void {\n this._pixiObject.alpha = this._object._opacity / 255;\n }\n\n getTileMapWidth() {\n const tileMap = this._tileMap;\n return tileMap ? tileMap.getWidth() : 20;\n }\n\n getTileMapHeight() {\n const tileMap = this._tileMap;\n return tileMap ? tileMap.getHeight() : 20;\n }\n\n setWidth(width: float): void {\n this._pixiObject.scale.x = width / this.getTileMapWidth();\n this._pixiObject.position.x = this._object.x + width / 2;\n }\n\n setHeight(height: float): void {\n this._pixiObject.scale.y = height / this.getTileMapHeight();\n this._pixiObject.position.y = this._object.y + height / 2;\n }\n\n setScaleX(scaleX: float): void {\n this._pixiObject.scale.x = scaleX;\n const width = scaleX * this.getTileMapWidth();\n this._pixiObject.position.x = this._object.x + width / 2;\n }\n\n setScaleY(scaleY: float): void {\n this._pixiObject.scale.y = scaleY;\n const height = scaleY * this.getTileMapHeight();\n this._pixiObject.position.y = this._object.y + height / 2;\n }\n\n getWidth(): float {\n return this.getTileMapWidth() * this._pixiObject.scale.x;\n }\n\n getHeight(): float {\n return this.getTileMapHeight() * this._pixiObject.scale.y;\n }\n\n getScaleX(): float {\n return this._pixiObject.scale.x;\n }\n\n getScaleY(): float {\n return this._pixiObject.scale.y;\n }\n }\n export const TileMapRuntimeObjectRenderer =\n gdjs.TileMapRuntimeObjectPixiRenderer;\n export type TileMapRuntimeObjectRenderer = gdjs.TileMapRuntimeObjectPixiRenderer;\n}\n"],
5
+ "mappings": "AAEA,IAAU,MAAAA,GAAV,CAMS,MAAMC,CAAiC,CACpC,QACA,SAAiD,KAEjD,YAMR,YACEC,EACAC,EACA,CACA,KAAK,QAAUD,EAGf,KAAK,QAAQ,SAAS,cAAgB,GAGtC,KAAK,YAAc,IAAI,KAAK,QAAQ,iBACpC,KAAK,YAAY,SAAW,CAAC,EAAG,CAAC,EAEjCC,EACG,SAAS,EAAE,EACX,YAAY,EACZ,kBAAkB,KAAK,YAAaD,EAAc,UAAU,CAAC,EAChE,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,CACtB,CAEA,mBAAoB,CAClB,OAAO,KAAK,WACd,CAEA,yBAAyBC,EAAkD,CACzE,KAAK,YAAY,SAAS,CAAC,GAAK,CAClC,CAEA,kBACEC,EACAC,EACA,CACA,KAAK,SAAWD,EAChB,cAAc,kBAAkB,kBAC9B,KAAK,YACLA,EACAC,EACA,KAAK,QAAQ,aACb,KAAK,QAAQ,WACf,CACF,CAEA,gBAAuB,CACrB,KAAK,YAAY,MAAM,EAAI,KAAK,gBAAgB,EAAI,EACpD,KAAK,YAAY,MAAM,EAAI,KAAK,iBAAiB,EAAI,EACrD,KAAK,YAAY,SAAS,EAAI,KAAK,QAAQ,EAAI,KAAK,SAAS,EAAI,EACjE,KAAK,YAAY,SAAS,EAAI,KAAK,QAAQ,EAAI,KAAK,UAAU,EAAI,CACpE,CAEA,aAAoB,CAClB,KAAK,YAAY,SAAWL,EAAK,MAAM,KAAK,QAAQ,KAAK,CAC3D,CAEA,eAAsB,CACpB,KAAK,YAAY,MAAQ,KAAK,QAAQ,SAAW,GACnD,CAEA,iBAAkB,CAChB,MAAMI,EAAU,KAAK,SACrB,OAAOA,EAAUA,EAAQ,SAAS,EAAI,EACxC,CAEA,kBAAmB,CACjB,MAAMA,EAAU,KAAK,SACrB,OAAOA,EAAUA,EAAQ,UAAU,EAAI,EACzC,CAEA,SAASE,EAAoB,CAC3B,KAAK,YAAY,MAAM,EAAIA,EAAQ,KAAK,gBAAgB,EACxD,KAAK,YAAY,SAAS,EAAI,KAAK,QAAQ,EAAIA,EAAQ,CACzD,CAEA,UAAUC,EAAqB,CAC7B,KAAK,YAAY,MAAM,EAAIA,EAAS,KAAK,iBAAiB,EAC1D,KAAK,YAAY,SAAS,EAAI,KAAK,QAAQ,EAAIA,EAAS,CAC1D,CAEA,UAAUC,EAAqB,CAC7B,KAAK,YAAY,MAAM,EAAIA,EAC3B,MAAMF,EAAQE,EAAS,KAAK,gBAAgB,EAC5C,KAAK,YAAY,SAAS,EAAI,KAAK,QAAQ,EAAIF,EAAQ,CACzD,CAEA,UAAUG,EAAqB,CAC7B,KAAK,YAAY,MAAM,EAAIA,EAC3B,MAAMF,EAASE,EAAS,KAAK,iBAAiB,EAC9C,KAAK,YAAY,SAAS,EAAI,KAAK,QAAQ,EAAIF,EAAS,CAC1D,CAEA,UAAkB,CAChB,OAAO,KAAK,gBAAgB,EAAI,KAAK,YAAY,MAAM,CACzD,CAEA,WAAmB,CACjB,OAAO,KAAK,iBAAiB,EAAI,KAAK,YAAY,MAAM,CAC1D,CAEA,WAAmB,CACjB,OAAO,KAAK,YAAY,MAAM,CAChC,CAEA,WAAmB,CACjB,OAAO,KAAK,YAAY,MAAM,CAChC,CACF,CApHOP,EAAM,iCAAAC,EAqHAD,EAAA,6BACXA,EAAK,mCA5HC",
6
+ "names": ["gdjs", "TileMapRuntimeObjectPixiRenderer", "runtimeObject", "instanceContainer", "tileMap", "textureCache", "width", "height", "scaleX", "scaleY"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var gdjs;(i=>{const l=GlobalPIXIModule.PIXI;class a extends i.RuntimeObject{_frameElapsedTime=0;_opacity;_tilemapJsonFile;_tilesetJsonFile;_tilemapAtlasImage;_displayMode;_layerIndex;_levelIndex;_animationSpeedScale;_animationFps;_tileMapManager;_renderer;constructor(e,t){super(e,t),this._opacity=t.content.opacity,this._tilemapJsonFile=t.content.tilemapJsonFile,this._tilesetJsonFile=t.content.tilesetJsonFile,this._tilemapAtlasImage=t.content.tilemapAtlasImage,this._displayMode=t.content.displayMode,this._layerIndex=t.content.layerIndex,this._levelIndex=t.content.levelIndex,this._animationSpeedScale=t.content.animationSpeedScale,this._animationFps=t.content.animationFps,this._tileMapManager=i.TileMap.TileMapRuntimeManager.getManager(e),this._renderer=new i.TileMapRuntimeObjectRenderer(this,e),this._updateTileMap(),this.onCreated()}getRendererObject(){return this._renderer.getRendererObject()}update(e){if(this._animationSpeedScale<=0||this._animationFps===0)return;const t=this.getElapsedTime()/1e3;for(this._frameElapsedTime+=t*this._animationSpeedScale;this._frameElapsedTime>1/this._animationFps;)this._renderer.incrementAnimationFrameX(e),this._frameElapsedTime-=1/this._animationFps}updateFromObjectData(e,t){return e.content.opacity!==t.content.opacity&&this.setOpacity(t.content.opacity),e.content.tilemapJsonFile!==t.content.tilemapJsonFile&&this.setTilemapJsonFile(t.content.tilemapJsonFile),e.content.tilesetJsonFile!==t.content.tilesetJsonFile&&this.setTilesetJsonFile(t.content.tilesetJsonFile),e.content.displayMode!==t.content.displayMode&&this.setDisplayMode(t.content.displayMode),e.content.layerIndex!==t.content.layerIndex&&this.setLayerIndex(t.content.layerIndex),e.content.levelIndex!==t.content.levelIndex&&this.setLevelIndex(t.content.levelIndex),e.content.animationSpeedScale!==t.content.animationSpeedScale&&this.setAnimationSpeedScale(t.content.animationSpeedScale),e.content.animationFps!==t.content.animationFps&&this.setAnimationFps(t.content.animationFps),e.content.tilemapAtlasImage===t.content.tilemapAtlasImage}extraInitializationFromInitialInstance(e){e.customSize&&(this.setWidth(e.width),this.setHeight(e.height))}_updateTileMap(){this._tileMapManager.getOrLoadTileMap(this._tilemapJsonFile,this._tilesetJsonFile,this._levelIndex,e=>{e&&this._tileMapManager.getOrLoadTextureCache(t=>{const n=this.getInstanceContainer().getGame(),s=n.resolveEmbeddedResource(this._tilemapJsonFile,t);return n.getImageManager().getPIXITexture(s)},this._tilemapAtlasImage,this._tilemapJsonFile,this._tilesetJsonFile,this._levelIndex,t=>{t&&this._renderer.updatePixiTileMap(e,t)})})}setTilemapJsonFile(e){this._tilemapJsonFile=e,this._updateTileMap()}getTilemapJsonFile(){return this._tilemapJsonFile}isTilemapJsonFile(e){return this._tilemapJsonFile===e}setTilesetJsonFile(e){this._tilesetJsonFile=e,this._updateTileMap()}getTilesetJsonFile(){return this._tilesetJsonFile}setAnimationFps(e){this._animationFps=e}getAnimationFps(){return this._animationFps}isTilesetJsonFile(e){return this._tilesetJsonFile===e}isDisplayMode(e){return this._displayMode===e}setDisplayMode(e){this._displayMode=e,this._updateTileMap()}getDisplayMode(){return this._displayMode}setLayerIndex(e){this._layerIndex=e,this._updateTileMap()}getLayerIndex(){return this._layerIndex}setLevelIndex(e){this._levelIndex=e,this._updateTileMap()}getLevelIndex(){return this._levelIndex}setAnimationSpeedScale(e){this._animationSpeedScale=e}getAnimationSpeedScale(){return this._animationSpeedScale}setWidth(e){this.getWidth()!==e&&(this._renderer.setWidth(e),this.invalidateHitboxes())}setHeight(e){this.getHeight()!==e&&(this._renderer.setHeight(e),this.invalidateHitboxes())}getScale(){const e=this.getScaleX(),t=this.getScaleY();return e===t?e:Math.sqrt(e*t)}setScale(e){this.setScaleX(e),this.setScaleY(e)}setScaleX(e){e<0&&(e=0),this.getScaleX()!==e&&(this._renderer.setScaleX(e),this.invalidateHitboxes())}setScaleY(e){e<0&&(e=0),this.getScaleY()!==e&&(this._renderer.setScaleY(e),this.invalidateHitboxes())}setX(e){super.setX(e),this._renderer.updatePosition()}setY(e){super.setY(e),this._renderer.updatePosition()}setAngle(e){super.setAngle(e),this._renderer.updateAngle()}setOpacity(e){this._opacity=e,this._renderer.updateOpacity()}getOpacity(){return this._opacity}getWidth(){return this._renderer.getWidth()}getHeight(){return this._renderer.getHeight()}getScaleX(){return this._renderer.getScaleX()}getScaleY(){return this._renderer.getScaleY()}}i.TileMapRuntimeObject=a,i.registerObject("TileMap::TileMap",i.TileMapRuntimeObject)})(gdjs||={});
2
+ //# sourceMappingURL=tilemapruntimeobject.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../GDevelop/Extensions/TileMap/tilemapruntimeobject.ts"],
4
+ "sourcesContent": ["/// <reference path=\"helper/TileMapHelper.d.ts\" />\nnamespace gdjs {\n import PIXI = GlobalPIXIModule.PIXI;\n\n /**\n * Displays a Tilemap object (mapeditor.org supported).\n */\n export class TileMapRuntimeObject extends gdjs.RuntimeObject {\n _frameElapsedTime: float = 0;\n _opacity: float;\n _tilemapJsonFile: string;\n _tilesetJsonFile: string;\n _tilemapAtlasImage: string;\n _displayMode: string;\n _layerIndex: integer;\n _levelIndex: integer;\n _animationSpeedScale: number;\n _animationFps: number;\n _tileMapManager: gdjs.TileMap.TileMapRuntimeManager;\n _renderer: gdjs.TileMapRuntimeObjectPixiRenderer;\n\n constructor(instanceContainer: gdjs.RuntimeInstanceContainer, objectData) {\n super(instanceContainer, objectData);\n this._opacity = objectData.content.opacity;\n this._tilemapJsonFile = objectData.content.tilemapJsonFile;\n this._tilesetJsonFile = objectData.content.tilesetJsonFile;\n this._tilemapAtlasImage = objectData.content.tilemapAtlasImage;\n this._displayMode = objectData.content.displayMode;\n this._layerIndex = objectData.content.layerIndex;\n this._levelIndex = objectData.content.levelIndex;\n this._animationSpeedScale = objectData.content.animationSpeedScale;\n this._animationFps = objectData.content.animationFps;\n this._tileMapManager = gdjs.TileMap.TileMapRuntimeManager.getManager(\n instanceContainer\n );\n this._renderer = new gdjs.TileMapRuntimeObjectRenderer(\n this,\n instanceContainer\n );\n this._updateTileMap();\n\n // *ALWAYS* call `this.onCreated()` at the very end of your object constructor.\n this.onCreated();\n }\n\n getRendererObject() {\n return this._renderer.getRendererObject();\n }\n\n update(instanceContainer: gdjs.RuntimeInstanceContainer): void {\n if (this._animationSpeedScale <= 0 || this._animationFps === 0) {\n return;\n }\n const elapsedTime = this.getElapsedTime() / 1000;\n this._frameElapsedTime += elapsedTime * this._animationSpeedScale;\n while (this._frameElapsedTime > 1 / this._animationFps) {\n this._renderer.incrementAnimationFrameX(instanceContainer);\n this._frameElapsedTime -= 1 / this._animationFps;\n }\n }\n\n updateFromObjectData(oldObjectData: any, newObjectData: any): boolean {\n if (oldObjectData.content.opacity !== newObjectData.content.opacity) {\n this.setOpacity(newObjectData.content.opacity);\n }\n if (\n oldObjectData.content.tilemapJsonFile !==\n newObjectData.content.tilemapJsonFile\n ) {\n this.setTilemapJsonFile(newObjectData.content.tilemapJsonFile);\n }\n if (\n oldObjectData.content.tilesetJsonFile !==\n newObjectData.content.tilesetJsonFile\n ) {\n this.setTilesetJsonFile(newObjectData.content.tilesetJsonFile);\n }\n if (\n oldObjectData.content.displayMode !== newObjectData.content.displayMode\n ) {\n this.setDisplayMode(newObjectData.content.displayMode);\n }\n if (\n oldObjectData.content.layerIndex !== newObjectData.content.layerIndex\n ) {\n this.setLayerIndex(newObjectData.content.layerIndex);\n }\n if (\n oldObjectData.content.levelIndex !== newObjectData.content.levelIndex\n ) {\n this.setLevelIndex(newObjectData.content.levelIndex);\n }\n if (\n oldObjectData.content.animationSpeedScale !==\n newObjectData.content.animationSpeedScale\n ) {\n this.setAnimationSpeedScale(newObjectData.content.animationSpeedScale);\n }\n if (\n oldObjectData.content.animationFps !==\n newObjectData.content.animationFps\n ) {\n this.setAnimationFps(newObjectData.content.animationFps);\n }\n if (\n oldObjectData.content.tilemapAtlasImage !==\n newObjectData.content.tilemapAtlasImage\n ) {\n // TODO: support changing the atlas texture\n return false;\n }\n return true;\n }\n\n extraInitializationFromInitialInstance(initialInstanceData): void {\n if (initialInstanceData.customSize) {\n this.setWidth(initialInstanceData.width);\n this.setHeight(initialInstanceData.height);\n }\n }\n\n private _updateTileMap(): void {\n this._tileMapManager.getOrLoadTileMap(\n this._tilemapJsonFile,\n this._tilesetJsonFile,\n this._levelIndex,\n (tileMap: TileMapHelper.EditableTileMap | null) => {\n if (!tileMap) {\n // getOrLoadTileMap already warn.\n return;\n }\n this._tileMapManager.getOrLoadTextureCache(\n (textureName) => {\n const game = this.getInstanceContainer().getGame();\n const mappedName = game.resolveEmbeddedResource(\n this._tilemapJsonFile,\n textureName\n );\n return (game\n .getImageManager()\n .getPIXITexture(mappedName) as unknown) as PIXI.BaseTexture<\n PIXI.Resource\n >;\n },\n this._tilemapAtlasImage,\n this._tilemapJsonFile,\n this._tilesetJsonFile,\n this._levelIndex,\n (textureCache: TileMapHelper.TileTextureCache | null) => {\n if (!textureCache) {\n // getOrLoadTextureCache already log warns and errors.\n return;\n }\n this._renderer.updatePixiTileMap(tileMap, textureCache);\n }\n );\n }\n );\n }\n\n /**\n * Set the Tilemap file to display.\n */\n setTilemapJsonFile(tilemapJsonFile: string): void {\n this._tilemapJsonFile = tilemapJsonFile;\n this._updateTileMap();\n }\n\n getTilemapJsonFile(): string {\n return this._tilemapJsonFile;\n }\n\n isTilemapJsonFile(selectedTilemapJsonFile: string): boolean {\n return this._tilemapJsonFile === selectedTilemapJsonFile;\n }\n\n setTilesetJsonFile(tilesetJsonFile: string): void {\n this._tilesetJsonFile = tilesetJsonFile;\n this._updateTileMap();\n }\n\n getTilesetJsonFile(): string {\n return this._tilesetJsonFile;\n }\n\n setAnimationFps(animationFps: float) {\n this._animationFps = animationFps;\n }\n\n getAnimationFps(): float {\n return this._animationFps;\n }\n\n isTilesetJsonFile(selectedTilesetJsonFile: string): boolean {\n return this._tilesetJsonFile === selectedTilesetJsonFile;\n }\n\n isDisplayMode(selectedDisplayMode: string): boolean {\n return this._displayMode === selectedDisplayMode;\n }\n\n setDisplayMode(displayMode: string): void {\n this._displayMode = displayMode;\n this._updateTileMap();\n }\n\n getDisplayMode(): string {\n return this._displayMode;\n }\n\n setLayerIndex(layerIndex): void {\n this._layerIndex = layerIndex;\n this._updateTileMap();\n }\n\n getLayerIndex(): integer {\n return this._layerIndex;\n }\n\n setLevelIndex(levelIndex): void {\n this._levelIndex = levelIndex;\n this._updateTileMap();\n }\n\n getLevelIndex() {\n return this._levelIndex;\n }\n\n setAnimationSpeedScale(animationSpeedScale): void {\n this._animationSpeedScale = animationSpeedScale;\n }\n\n getAnimationSpeedScale(): float {\n return this._animationSpeedScale;\n }\n\n /**\n * Change the width of the object. This changes the scale on X axis of the object.\n *\n * @param width The new width of the object, in pixels.\n */\n setWidth(width: float): void {\n if (this.getWidth() === width) return;\n\n this._renderer.setWidth(width);\n this.invalidateHitboxes();\n }\n\n /**\n * Change the height of the object. This changes the scale on Y axis of the object.\n *\n * @param height The new height of the object, in pixels.\n */\n setHeight(height: float): void {\n if (this.getHeight() === height) return;\n\n this._renderer.setHeight(height);\n this.invalidateHitboxes();\n }\n\n /**\n * Get the scale of the object (or the geometric mean of the X and Y scale in case they are different).\n *\n * @return the scale of the object (or the geometric mean of the X and Y scale in case they are different).\n */\n getScale(): number {\n const scaleX = this.getScaleX();\n const scaleY = this.getScaleY();\n return scaleX === scaleY ? scaleX : Math.sqrt(scaleX * scaleY);\n }\n\n /**\n * Change the scale on X and Y axis of the object.\n *\n * @param scale The new scale (must be greater than 0).\n */\n setScale(scale: float): void {\n this.setScaleX(scale);\n this.setScaleY(scale);\n }\n\n /**\n * Change the scale on X axis of the object (changing its width).\n *\n * @param scaleX The new scale (must be greater than 0).\n */\n setScaleX(scaleX: float): void {\n if (scaleX < 0) {\n scaleX = 0;\n }\n if (this.getScaleX() === scaleX) return;\n\n this._renderer.setScaleX(scaleX);\n this.invalidateHitboxes();\n }\n\n /**\n * Change the scale on Y axis of the object (changing its width).\n *\n * @param scaleY The new scale (must be greater than 0).\n */\n setScaleY(scaleY: float): void {\n if (scaleY < 0) {\n scaleY = 0;\n }\n if (this.getScaleY() === scaleY) return;\n\n this._renderer.setScaleY(scaleY);\n this.invalidateHitboxes();\n }\n\n setX(x: float): void {\n super.setX(x);\n this._renderer.updatePosition();\n }\n\n setY(y: float): void {\n super.setY(y);\n this._renderer.updatePosition();\n }\n\n setAngle(angle: float): void {\n super.setAngle(angle);\n this._renderer.updateAngle();\n }\n\n /**\n * Set object opacity.\n * @param opacity The new opacity of the object (0-255).\n */\n setOpacity(opacity: float): void {\n this._opacity = opacity;\n this._renderer.updateOpacity();\n }\n\n /**\n * Get object opacity.\n */\n getOpacity(): float {\n return this._opacity;\n }\n\n getWidth(): float {\n return this._renderer.getWidth();\n }\n\n getHeight(): float {\n return this._renderer.getHeight();\n }\n\n getScaleX(): float {\n return this._renderer.getScaleX();\n }\n\n getScaleY(): float {\n return this._renderer.getScaleY();\n }\n }\n gdjs.registerObject('TileMap::TileMap', gdjs.TileMapRuntimeObject);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["gdjs", "PIXI", "TileMapRuntimeObject", "instanceContainer", "objectData", "elapsedTime", "oldObjectData", "newObjectData", "initialInstanceData", "tileMap", "textureName", "game", "mappedName", "textureCache", "tilemapJsonFile", "selectedTilemapJsonFile", "tilesetJsonFile", "animationFps", "selectedTilesetJsonFile", "selectedDisplayMode", "displayMode", "layerIndex", "levelIndex", "animationSpeedScale", "width", "height", "scaleX", "scaleY", "scale", "x", "y", "angle", "opacity"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var gdjs;(i=>{const s=GlobalPIXIModule.PIXI;class d{_object;_tiledSprite;constructor(t,e,r){this._object=t;const o=e.getGame().getImageManager().getPIXITexture(r);this._tiledSprite=new s.TilingSprite(o,1024,1024),e.getLayer("").getRenderer().addRendererObject(this._tiledSprite,t.getZOrder()),this.updatePosition(),this.updateAngle(),this.updateXOffset(),this.updateYOffset()}getRendererObject(){return this._tiledSprite}updateOpacity(){this._tiledSprite.alpha=this._object.opacity/255}updatePosition(){this._tiledSprite.position.x=this._object.x+this._tiledSprite.width/2,this._tiledSprite.position.y=this._object.y+this._tiledSprite.height/2}setTexture(t,e){const r=e.getGame().getImageManager().getPIXITexture(t);this._tiledSprite.texture=r,this.updatePosition()}updateAngle(){this._tiledSprite.rotation=i.toRad(this._object.angle)}getWidth(){return this._tiledSprite.width}getHeight(){return this._tiledSprite.height}setWidth(t){this._tiledSprite.width=t,this._tiledSprite.pivot.x=t/2,this.updatePosition()}setHeight(t){this._tiledSprite.height=t,this._tiledSprite.pivot.y=t/2,this.updatePosition()}updateXOffset(){this._tiledSprite.tilePosition.x=-this._object._xOffset%this._tiledSprite.texture.width}updateYOffset(){this._tiledSprite.tilePosition.y=-this._object._yOffset%this._tiledSprite.texture.height}setColor(t){const e=t.split(";");e.length<3||(this._tiledSprite.tint="0x"+i.rgbToHex(parseInt(e[0],10),parseInt(e[1],10),parseInt(e[2],10)))}getColor(){const t=s.utils.hex2rgb(this._tiledSprite.tint);return Math.floor(t[0]*255)+";"+Math.floor(t[1]*255)+";"+Math.floor(t[2]*255)}getTextureWidth(){return this._tiledSprite.texture.width}getTextureHeight(){return this._tiledSprite.texture.height}}i.TiledSpriteRuntimeObjectRenderer=d})(gdjs||={});
2
+ //# sourceMappingURL=tiledspriteruntimeobject-pixi-renderer.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../GDevelop/Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.ts"],
4
+ "sourcesContent": ["namespace gdjs {\n import PIXI = GlobalPIXIModule.PIXI;\n\n class TiledSpriteRuntimeObjectPixiRenderer {\n _object: gdjs.TiledSpriteRuntimeObject;\n _tiledSprite: PIXI.TilingSprite;\n\n constructor(\n runtimeObject: gdjs.TiledSpriteRuntimeObject,\n instanceContainer: gdjs.RuntimeInstanceContainer,\n textureName: string\n ) {\n this._object = runtimeObject;\n const texture = instanceContainer\n .getGame()\n .getImageManager()\n .getPIXITexture(textureName);\n this._tiledSprite = new PIXI.TilingSprite(texture, 1024, 1024);\n\n instanceContainer\n .getLayer('')\n .getRenderer()\n .addRendererObject(this._tiledSprite, runtimeObject.getZOrder());\n this.updatePosition();\n this.updateAngle();\n this.updateXOffset();\n this.updateYOffset();\n }\n\n getRendererObject() {\n return this._tiledSprite;\n }\n\n updateOpacity(): void {\n this._tiledSprite.alpha = this._object.opacity / 255;\n }\n\n updatePosition(): void {\n this._tiledSprite.position.x =\n this._object.x + this._tiledSprite.width / 2;\n this._tiledSprite.position.y =\n this._object.y + this._tiledSprite.height / 2;\n }\n\n setTexture(\n textureName: string,\n instanceContainer: RuntimeInstanceContainer\n ): void {\n const texture = instanceContainer\n .getGame()\n .getImageManager()\n .getPIXITexture(textureName);\n this._tiledSprite.texture = texture;\n this.updatePosition();\n }\n\n updateAngle(): void {\n this._tiledSprite.rotation = gdjs.toRad(this._object.angle);\n }\n\n getWidth(): float {\n return this._tiledSprite.width;\n }\n\n getHeight(): float {\n return this._tiledSprite.height;\n }\n\n setWidth(width: float): void {\n this._tiledSprite.width = width;\n this._tiledSprite.pivot.x = width / 2;\n this.updatePosition();\n }\n\n setHeight(height: float): void {\n this._tiledSprite.height = height;\n this._tiledSprite.pivot.y = height / 2;\n this.updatePosition();\n }\n\n updateXOffset(): void {\n // Known PIXI.js issue, the coordinates should not exceed the width/height of the texture,\n // otherwise the texture will be pixelated over time.\n // See https://github.com/pixijs/pixijs/issues/7891#issuecomment-947549553\n this._tiledSprite.tilePosition.x =\n -this._object._xOffset % this._tiledSprite.texture.width;\n }\n\n updateYOffset(): void {\n // Known PIXI.js issue, the coordinates should not exceed the width/height of the texture,\n // otherwise the texture will be pixelated over time.\n // See https://github.com/pixijs/pixijs/issues/7891#issuecomment-947549553\n this._tiledSprite.tilePosition.y =\n -this._object._yOffset % this._tiledSprite.texture.height;\n }\n\n setColor(rgbColor: string): void {\n const colors = rgbColor.split(';');\n if (colors.length < 3) {\n return;\n }\n // @ts-expect-error ts-migrate(2322) FIXME: Type 'string' is not assignable to type 'number'.\n this._tiledSprite.tint =\n '0x' +\n gdjs.rgbToHex(\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._tiledSprite.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 getTextureWidth() {\n return this._tiledSprite.texture.width;\n }\n\n getTextureHeight() {\n return this._tiledSprite.texture.height;\n }\n }\n\n export const TiledSpriteRuntimeObjectRenderer = TiledSpriteRuntimeObjectPixiRenderer;\n export type TiledSpriteRuntimeObjectRenderer = TiledSpriteRuntimeObjectPixiRenderer;\n}\n"],
5
+ "mappings": "AAAA,IAAU,MAAAA,GAAV,CACE,MAAOC,EAAO,iBAAiB,KAE/B,MAAMC,CAAqC,CACzC,QACA,aAEA,YACEC,EACAC,EACAC,EACA,CACA,KAAK,QAAUF,EACf,MAAMG,EAAUF,EACb,QAAQ,EACR,gBAAgB,EAChB,eAAeC,CAAW,EAC7B,KAAK,aAAe,IAAIJ,EAAK,aAAaK,EAAS,KAAM,IAAI,EAE7DF,EACG,SAAS,EAAE,EACX,YAAY,EACZ,kBAAkB,KAAK,aAAcD,EAAc,UAAU,CAAC,EACjE,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,CACrB,CAEA,mBAAoB,CAClB,OAAO,KAAK,YACd,CAEA,eAAsB,CACpB,KAAK,aAAa,MAAQ,KAAK,QAAQ,QAAU,GACnD,CAEA,gBAAuB,CACrB,KAAK,aAAa,SAAS,EACzB,KAAK,QAAQ,EAAI,KAAK,aAAa,MAAQ,EAC7C,KAAK,aAAa,SAAS,EACzB,KAAK,QAAQ,EAAI,KAAK,aAAa,OAAS,CAChD,CAEA,WACEE,EACAD,EACM,CACN,MAAME,EAAUF,EACb,QAAQ,EACR,gBAAgB,EAChB,eAAeC,CAAW,EAC7B,KAAK,aAAa,QAAUC,EAC5B,KAAK,eAAe,CACtB,CAEA,aAAoB,CAClB,KAAK,aAAa,SAAWN,EAAK,MAAM,KAAK,QAAQ,KAAK,CAC5D,CAEA,UAAkB,CAChB,OAAO,KAAK,aAAa,KAC3B,CAEA,WAAmB,CACjB,OAAO,KAAK,aAAa,MAC3B,CAEA,SAASO,EAAoB,CAC3B,KAAK,aAAa,MAAQA,EAC1B,KAAK,aAAa,MAAM,EAAIA,EAAQ,EACpC,KAAK,eAAe,CACtB,CAEA,UAAUC,EAAqB,CAC7B,KAAK,aAAa,OAASA,EAC3B,KAAK,aAAa,MAAM,EAAIA,EAAS,EACrC,KAAK,eAAe,CACtB,CAEA,eAAsB,CAIpB,KAAK,aAAa,aAAa,EAC7B,CAAC,KAAK,QAAQ,SAAW,KAAK,aAAa,QAAQ,KACvD,CAEA,eAAsB,CAIpB,KAAK,aAAa,aAAa,EAC7B,CAAC,KAAK,QAAQ,SAAW,KAAK,aAAa,QAAQ,MACvD,CAEA,SAASC,EAAwB,CAC/B,MAAMC,EAASD,EAAS,MAAM,GAAG,EAC7BC,EAAO,OAAS,IAIpB,KAAK,aAAa,KAChB,KACAV,EAAK,SACH,SAASU,EAAO,CAAC,EAAG,EAAE,EACtB,SAASA,EAAO,CAAC,EAAG,EAAE,EACtB,SAASA,EAAO,CAAC,EAAG,EAAE,CACxB,EACJ,CAEA,UAAW,CACT,MAAMC,EAAMV,EAAK,MAAM,QAAQ,KAAK,aAAa,IAAI,EACrD,OACE,KAAK,MAAMU,EAAI,CAAC,EAAI,GAAG,EACvB,IACA,KAAK,MAAMA,EAAI,CAAC,EAAI,GAAG,EACvB,IACA,KAAK,MAAMA,EAAI,CAAC,EAAI,GAAG,CAE3B,CAEA,iBAAkB,CAChB,OAAO,KAAK,aAAa,QAAQ,KACnC,CAEA,kBAAmB,CACjB,OAAO,KAAK,aAAa,QAAQ,MACnC,CACF,CAEaX,EAAA,iCAAmCE,IAnIxC",
6
+ "names": ["gdjs", "PIXI", "TiledSpriteRuntimeObjectPixiRenderer", "runtimeObject", "instanceContainer", "textureName", "texture", "width", "height", "rgbColor", "colors", "rgb"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var gdjs;(i=>{class r extends i.RuntimeObject{_xOffset=0;_yOffset=0;opacity=255;_width;_height;_renderer;constructor(e,t){super(e,t),this._renderer=new i.TiledSpriteRuntimeObjectRenderer(this,e,t.texture),this._width=0,this._height=0,this.setWidth(t.width),this.setHeight(t.height),this.onCreated()}updateFromObjectData(e,t){return e.texture!==t.texture&&this.setTexture(t.texture,this.getRuntimeScene()),e.width!==t.width&&this.setWidth(t.width),e.height!==t.height&&this.setHeight(t.height),!0}getRendererObject(){return this._renderer.getRendererObject()}onDestroyFromScene(e){super.onDestroyFromScene(e),this._renderer.onDestroy&&this._renderer.onDestroy()}extraInitializationFromInitialInstance(e){e.customSize&&(this.setWidth(e.width),this.setHeight(e.height))}setX(e){super.setX(e),this._renderer.updatePosition()}setY(e){super.setY(e),this._renderer.updatePosition()}setTexture(e,t){this._renderer.setTexture(e,t)}setAngle(e){super.setAngle(e),this._renderer.updateAngle()}getWidth(){return this._width}getHeight(){return this._height}setWidth(e){this._width!==e&&(this._width=e,this._renderer.setWidth(e),this.invalidateHitboxes())}setHeight(e){this._height!==e&&(this._height=e,this._renderer.setHeight(e),this.invalidateHitboxes())}setSize(e,t){this.setWidth(e),this.setHeight(t)}setXOffset(e){this._xOffset=e,this._renderer.updateXOffset()}setYOffset(e){this._yOffset=e,this._renderer.updateYOffset()}getXOffset(){return this._xOffset}getYOffset(){return this._yOffset}setOpacity(e){e<0&&(e=0),e>255&&(e=255),this.opacity=e,this._renderer.updateOpacity()}getOpacity(){return this.opacity}setColor(e){this._renderer.setColor(e)}getColor(){return this._renderer.getColor()}getScale(){return(this.getScaleX()+this.getScaleY())/2}getScaleX(){return this._width/this._renderer.getTextureWidth()}getScaleY(){return this._height/this._renderer.getTextureHeight()}setScale(e){this.setWidth(this._renderer.getTextureWidth()*e),this.setHeight(this._renderer.getTextureHeight()*e)}setScaleX(e){this.setWidth(this._renderer.getTextureWidth()*e)}setScaleY(e){this.setHeight(this._renderer.getTextureHeight()*e)}}i.TiledSpriteRuntimeObject=r,i.registerObject("TiledSpriteObject::TiledSprite",i.TiledSpriteRuntimeObject)})(gdjs||={});
2
+ //# sourceMappingURL=tiledspriteruntimeobject.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../GDevelop/Extensions/TiledSpriteObject/tiledspriteruntimeobject.ts"],
4
+ "sourcesContent": ["/*\n * GDevelop JS Platform\n * 2013 Florian Rival (Florian.Rival@gmail.com)\n */\nnamespace gdjs {\n /** Initial properties for a Tiled Sprite object */\n export type TiledSpriteObjectDataType = {\n /** Default width of the object, if the instance has no custom width. */\n width: number;\n /** Default height of the object, if the instance has no custom height. */\n height: number;\n texture: string;\n };\n\n export type TiledSpriteObjectData = ObjectData & TiledSpriteObjectDataType;\n\n /**\n * The TiledSpriteRuntimeObject displays a tiled texture.\n */\n export class TiledSpriteRuntimeObject extends gdjs.RuntimeObject {\n _xOffset: float = 0;\n _yOffset: float = 0;\n opacity: float = 255;\n\n // Width and height can be stored because they do not depend on the\n // size of the texture being used (contrary to most objects).\n _width: float;\n _height: float;\n\n _renderer: gdjs.TiledSpriteRuntimeObjectRenderer;\n\n /**\n * @param instanceContainer The container the object belongs to.\n * @param tiledSpriteObjectData The initial properties of the object\n */\n constructor(\n instanceContainer: gdjs.RuntimeInstanceContainer,\n tiledSpriteObjectData: TiledSpriteObjectData\n ) {\n super(instanceContainer, tiledSpriteObjectData);\n this._renderer = new gdjs.TiledSpriteRuntimeObjectRenderer(\n this,\n instanceContainer,\n tiledSpriteObjectData.texture\n );\n this._width = 0;\n this._height = 0;\n this.setWidth(tiledSpriteObjectData.width);\n this.setHeight(tiledSpriteObjectData.height);\n\n // *ALWAYS* call `this.onCreated()` at the very end of your object constructor.\n this.onCreated();\n }\n\n updateFromObjectData(oldObjectData, newObjectData): boolean {\n if (oldObjectData.texture !== newObjectData.texture) {\n this.setTexture(newObjectData.texture, this.getRuntimeScene());\n }\n if (oldObjectData.width !== newObjectData.width) {\n this.setWidth(newObjectData.width);\n }\n if (oldObjectData.height !== newObjectData.height) {\n this.setHeight(newObjectData.height);\n }\n return true;\n }\n\n getRendererObject() {\n return this._renderer.getRendererObject();\n }\n\n onDestroyFromScene(instanceContainer: gdjs.RuntimeInstanceContainer): void {\n super.onDestroyFromScene(instanceContainer);\n if ((this._renderer as any).onDestroy) {\n (this._renderer as any).onDestroy();\n }\n }\n\n /**\n * Initialize the extra parameters that could be set for an instance.\n */\n extraInitializationFromInitialInstance(initialInstanceData: InstanceData) {\n if (initialInstanceData.customSize) {\n this.setWidth(initialInstanceData.width);\n this.setHeight(initialInstanceData.height);\n }\n }\n\n /**\n * Set the X position of the Tiled Sprite object.\n * @param x The new X position.\n */\n setX(x: float): void {\n super.setX(x);\n this._renderer.updatePosition();\n }\n\n /**\n * Set the Y position of the Tiled Sprite object.\n * @param y The new Y position.\n */\n setY(y: float): void {\n super.setY(y);\n this._renderer.updatePosition();\n }\n\n /**\n * Assign a new texture to the Tiled Sprite object.\n * @param textureName The name of the image texture resource.\n * @param instanceContainer The container in which the texture is used.\n */\n setTexture(\n textureName: string,\n instanceContainer: gdjs.RuntimeInstanceContainer\n ): void {\n this._renderer.setTexture(textureName, instanceContainer);\n }\n\n /**\n * Set the angle of the Tiled Sprite object.\n * @param angle The new angle.\n */\n setAngle(angle: float): void {\n super.setAngle(angle);\n this._renderer.updateAngle();\n }\n\n /**\n * Get the width of the Tiled Sprite object.\n * @returns The width of the Tiled Sprite object\n */\n getWidth(): float {\n return this._width;\n }\n\n /**\n * Get the height of the Tiled Sprite object.\n * @returns The height of the Tiled Sprite object\n */\n getHeight(): float {\n return this._height;\n }\n\n /**\n * Set the width of the Tiled Sprite object.\n * @param width The new width.\n */\n setWidth(width: float): void {\n if (this._width === width) return;\n\n this._width = width;\n this._renderer.setWidth(width);\n this.invalidateHitboxes();\n }\n\n /**\n * Set the height of the Tiled Sprite object.\n * @param height The new height.\n */\n setHeight(height: float): void {\n if (this._height === height) return;\n\n this._height = height;\n this._renderer.setHeight(height);\n this.invalidateHitboxes();\n }\n\n /**\n * Set the size of the Tiled Sprite object.\n * @param width The new width.\n * @param height The new height.\n */\n setSize(width: float, height: float): void {\n this.setWidth(width);\n this.setHeight(height);\n }\n\n /**\n * Set the offset on the X-axis when displaying the image of the Tiled Sprite object.\n * @param xOffset The new offset on the X-axis.\n */\n setXOffset(xOffset: number): void {\n this._xOffset = xOffset;\n this._renderer.updateXOffset();\n }\n\n /**\n * Set the offset on the Y-axis when displaying the image of the Tiled Sprite object.\n * @param yOffset The new offset on the Y-axis.\n */\n setYOffset(yOffset: number): void {\n this._yOffset = yOffset;\n this._renderer.updateYOffset();\n }\n\n /**\n * Get the offset on the X-axis of the Tiled Sprite object.\n * @returns The offset on the X-axis\n */\n getXOffset(): number {\n return this._xOffset;\n }\n\n /**\n * Get the offset on the Y-axis of the Tiled Sprite object.\n * @returns The offset on the Y-axis\n */\n getYOffset(): number {\n return this._yOffset;\n }\n\n /**\n * Change the transparency of the object.\n * @param opacity The new opacity, between 0 (transparent) and 255 (opaque).\n */\n setOpacity(opacity: float): void {\n if (opacity < 0) {\n opacity = 0;\n }\n if (opacity > 255) {\n opacity = 255;\n }\n this.opacity = opacity;\n this._renderer.updateOpacity();\n }\n\n /**\n * Get the transparency of the object.\n * @return The opacity, between 0 (transparent) and 255 (opaque).\n */\n getOpacity(): number {\n return this.opacity;\n }\n\n /**\n * Change the tint of the tiled sprite object.\n *\n * @param rgbColor The color, in RGB format (\"128;200;255\").\n */\n setColor(rgbColor: string): void {\n this._renderer.setColor(rgbColor);\n }\n\n /**\n * Get the tint of the tiled sprite object.\n *\n * @returns The color, in RGB format (\"128;200;255\").\n */\n getColor(): string {\n return this._renderer.getColor();\n }\n\n // Implement support for get/set scale:\n\n /**\n * Get scale of the tiled sprite object.\n */\n getScale(): float {\n return (this.getScaleX() + this.getScaleY()) / 2.0;\n }\n\n /**\n * Get x-scale of the tiled sprite object.\n */\n getScaleX(): float {\n return this._width / this._renderer.getTextureWidth();\n }\n\n /**\n * Get y-scale of the tiled sprite object.\n */\n getScaleY(): float {\n return this._height / this._renderer.getTextureHeight();\n }\n\n /**\n * Set the tiled sprite object scale.\n * @param newScale The new scale for the tiled sprite object.\n */\n setScale(newScale: float): void {\n this.setWidth(this._renderer.getTextureWidth() * newScale);\n this.setHeight(this._renderer.getTextureHeight() * newScale);\n }\n\n /**\n * Set the tiled sprite object x-scale.\n * @param newScale The new x-scale for the tiled sprite object.\n */\n setScaleX(newScale: float): void {\n this.setWidth(this._renderer.getTextureWidth() * newScale);\n }\n\n /**\n * Set the tiled sprite object y-scale.\n * @param newScale The new y-scale for the tiled sprite object.\n */\n setScaleY(newScale: float): void {\n this.setHeight(this._renderer.getTextureHeight() * newScale);\n }\n }\n gdjs.registerObject(\n 'TiledSpriteObject::TiledSprite',\n gdjs.TiledSpriteRuntimeObject\n );\n}\n"],
5
+ "mappings": "AAIA,IAAU,MAAAA,GAAV,CAeS,MAAMC,UAAiCD,EAAK,aAAc,CAC/D,SAAkB,EAClB,SAAkB,EAClB,QAAiB,IAIjB,OACA,QAEA,UAMA,YACEE,EACAC,EACA,CACA,MAAMD,EAAmBC,CAAqB,EAC9C,KAAK,UAAY,IAAIH,EAAK,iCACxB,KACAE,EACAC,EAAsB,OACxB,EACA,KAAK,OAAS,EACd,KAAK,QAAU,EACf,KAAK,SAASA,EAAsB,KAAK,EACzC,KAAK,UAAUA,EAAsB,MAAM,EAG3C,KAAK,UAAU,CACjB,CAEA,qBAAqBC,EAAeC,EAAwB,CAC1D,OAAID,EAAc,UAAYC,EAAc,SAC1C,KAAK,WAAWA,EAAc,QAAS,KAAK,gBAAgB,CAAC,EAE3DD,EAAc,QAAUC,EAAc,OACxC,KAAK,SAASA,EAAc,KAAK,EAE/BD,EAAc,SAAWC,EAAc,QACzC,KAAK,UAAUA,EAAc,MAAM,EAE9B,EACT,CAEA,mBAAoB,CAClB,OAAO,KAAK,UAAU,kBAAkB,CAC1C,CAEA,mBAAmBH,EAAwD,CACzE,MAAM,mBAAmBA,CAAiB,EACrC,KAAK,UAAkB,WACzB,KAAK,UAAkB,UAAU,CAEtC,CAKA,uCAAuCI,EAAmC,CACpEA,EAAoB,aACtB,KAAK,SAASA,EAAoB,KAAK,EACvC,KAAK,UAAUA,EAAoB,MAAM,EAE7C,CAMA,KAAKC,EAAgB,CACnB,MAAM,KAAKA,CAAC,EACZ,KAAK,UAAU,eAAe,CAChC,CAMA,KAAKC,EAAgB,CACnB,MAAM,KAAKA,CAAC,EACZ,KAAK,UAAU,eAAe,CAChC,CAOA,WACEC,EACAP,EACM,CACN,KAAK,UAAU,WAAWO,EAAaP,CAAiB,CAC1D,CAMA,SAASQ,EAAoB,CAC3B,MAAM,SAASA,CAAK,EACpB,KAAK,UAAU,YAAY,CAC7B,CAMA,UAAkB,CAChB,OAAO,KAAK,MACd,CAMA,WAAmB,CACjB,OAAO,KAAK,OACd,CAMA,SAASC,EAAoB,CACvB,KAAK,SAAWA,IAEpB,KAAK,OAASA,EACd,KAAK,UAAU,SAASA,CAAK,EAC7B,KAAK,mBAAmB,EAC1B,CAMA,UAAUC,EAAqB,CACzB,KAAK,UAAYA,IAErB,KAAK,QAAUA,EACf,KAAK,UAAU,UAAUA,CAAM,EAC/B,KAAK,mBAAmB,EAC1B,CAOA,QAAQD,EAAcC,EAAqB,CACzC,KAAK,SAASD,CAAK,EACnB,KAAK,UAAUC,CAAM,CACvB,CAMA,WAAWC,EAAuB,CAChC,KAAK,SAAWA,EAChB,KAAK,UAAU,cAAc,CAC/B,CAMA,WAAWC,EAAuB,CAChC,KAAK,SAAWA,EAChB,KAAK,UAAU,cAAc,CAC/B,CAMA,YAAqB,CACnB,OAAO,KAAK,QACd,CAMA,YAAqB,CACnB,OAAO,KAAK,QACd,CAMA,WAAWC,EAAsB,CAC3BA,EAAU,IACZA,EAAU,GAERA,EAAU,MACZA,EAAU,KAEZ,KAAK,QAAUA,EACf,KAAK,UAAU,cAAc,CAC/B,CAMA,YAAqB,CACnB,OAAO,KAAK,OACd,CAOA,SAASC,EAAwB,CAC/B,KAAK,UAAU,SAASA,CAAQ,CAClC,CAOA,UAAmB,CACjB,OAAO,KAAK,UAAU,SAAS,CACjC,CAOA,UAAkB,CAChB,OAAQ,KAAK,UAAU,EAAI,KAAK,UAAU,GAAK,CACjD,CAKA,WAAmB,CACjB,OAAO,KAAK,OAAS,KAAK,UAAU,gBAAgB,CACtD,CAKA,WAAmB,CACjB,OAAO,KAAK,QAAU,KAAK,UAAU,iBAAiB,CACxD,CAMA,SAASC,EAAuB,CAC9B,KAAK,SAAS,KAAK,UAAU,gBAAgB,EAAIA,CAAQ,EACzD,KAAK,UAAU,KAAK,UAAU,iBAAiB,EAAIA,CAAQ,CAC7D,CAMA,UAAUA,EAAuB,CAC/B,KAAK,SAAS,KAAK,UAAU,gBAAgB,EAAIA,CAAQ,CAC3D,CAMA,UAAUA,EAAuB,CAC/B,KAAK,UAAU,KAAK,UAAU,iBAAiB,EAAIA,CAAQ,CAC7D,CACF,CAxROjB,EAAM,yBAAAC,EAyRbD,EAAK,eACH,iCACAA,EAAK,wBACP,IA3SQ",
6
+ "names": ["gdjs", "TiledSpriteRuntimeObject", "instanceContainer", "tiledSpriteObjectData", "oldObjectData", "newObjectData", "initialInstanceData", "x", "y", "textureName", "angle", "width", "height", "xOffset", "yOffset", "opacity", "rgbColor", "newScale"]
7
+ }