melonjs 17.3.0 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist/types → build}/application/application.d.ts +16 -10
- package/build/application/application.d.ts.map +1 -0
- package/build/application/defaultApplicationSettings.d.ts +18 -0
- package/build/application/defaultApplicationSettings.d.ts.map +1 -0
- package/build/application/header.d.ts +11 -0
- package/build/application/header.d.ts.map +1 -0
- package/{dist/types → build}/application/resize.d.ts +2 -0
- package/build/application/resize.d.ts.map +1 -0
- package/build/application/scaleMethods.d.ts +44 -0
- package/build/application/scaleMethods.d.ts.map +1 -0
- package/build/application/settings.d.ts +85 -0
- package/build/application/settings.d.ts.map +1 -0
- package/{dist/types → build}/audio/audio.d.ts +37 -59
- package/build/audio/audio.d.ts.map +1 -0
- package/{dist/types → build}/camera/camera2d.d.ts +42 -75
- package/build/camera/camera2d.d.ts.map +1 -0
- package/build/const.d.ts +14 -0
- package/build/const.d.ts.map +1 -0
- package/build/geometries/earcut.d.ts +3 -0
- package/build/geometries/earcut.d.ts.map +1 -0
- package/build/geometries/ellipse.d.ts +117 -0
- package/build/geometries/ellipse.d.ts.map +1 -0
- package/build/geometries/line.d.ts +39 -0
- package/build/geometries/line.d.ts.map +1 -0
- package/build/geometries/observablePoint.d.ts +75 -0
- package/build/geometries/observablePoint.d.ts.map +1 -0
- package/{dist/types → build}/geometries/path2d.d.ts +11 -5
- package/build/geometries/path2d.d.ts.map +1 -0
- package/build/geometries/point.d.ts +44 -0
- package/build/geometries/point.d.ts.map +1 -0
- package/build/geometries/polygon.d.ts +182 -0
- package/build/geometries/polygon.d.ts.map +1 -0
- package/build/geometries/rectangle.d.ts +135 -0
- package/build/geometries/rectangle.d.ts.map +1 -0
- package/build/geometries/roundrect.d.ts +67 -0
- package/build/geometries/roundrect.d.ts.map +1 -0
- package/build/geometries/toarccanvas.d.ts +28 -0
- package/build/geometries/toarccanvas.d.ts.map +1 -0
- package/{dist/types → build}/index.d.ts +41 -45
- package/build/index.d.ts.map +1 -0
- package/build/index.js +28318 -0
- package/build/index.js.map +7 -0
- package/{dist/types → build}/input/gamepad.d.ts +3 -11
- package/build/input/gamepad.d.ts.map +1 -0
- package/{dist/types → build}/input/input.d.ts +4 -2
- package/build/input/input.d.ts.map +1 -0
- package/build/input/key.d.ts +105 -0
- package/build/input/key.d.ts.map +1 -0
- package/build/input/keyboard.d.ts +72 -0
- package/build/input/keyboard.d.ts.map +1 -0
- package/build/input/pointer.d.ts +180 -0
- package/build/input/pointer.d.ts.map +1 -0
- package/{dist/types → build}/input/pointerevent.d.ts +17 -15
- package/build/input/pointerevent.d.ts.map +1 -0
- package/{dist/types → build}/lang/console.d.ts +1 -0
- package/build/lang/console.d.ts.map +1 -0
- package/build/lang/deprecated.d.ts +24 -0
- package/build/lang/deprecated.d.ts.map +1 -0
- package/{dist/types → build}/level/level.d.ts +7 -7
- package/build/level/level.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXGroup.d.ts +2 -2
- package/build/level/tiled/TMXGroup.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXLayer.d.ts +4 -4
- package/build/level/tiled/TMXLayer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXObject.d.ts +3 -3
- package/build/level/tiled/TMXObject.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXTile.d.ts +4 -5
- package/build/level/tiled/TMXTile.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXTileMap.d.ts +4 -4
- package/build/level/tiled/TMXTileMap.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXTileset.d.ts +3 -3
- package/build/level/tiled/TMXTileset.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXTilesetGroup.d.ts +1 -1
- package/build/level/tiled/TMXTilesetGroup.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXUtils.d.ts +2 -1
- package/build/level/tiled/TMXUtils.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/constants.d.ts +1 -0
- package/build/level/tiled/constants.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXHexagonalRenderer.d.ts +3 -4
- package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXIsometricRenderer.d.ts +2 -3
- package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +1 -2
- package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXRenderer.d.ts +7 -7
- package/build/level/tiled/renderer/TMXRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXStaggeredRenderer.d.ts +1 -2
- package/build/level/tiled/renderer/TMXStaggeredRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/autodetect.d.ts +4 -3
- package/build/level/tiled/renderer/autodetect.d.ts.map +1 -0
- package/build/loader/cache.d.ts +10 -0
- package/build/loader/cache.d.ts.map +1 -0
- package/{dist/types → build}/loader/loader.d.ts +29 -53
- package/build/loader/loader.d.ts.map +1 -0
- package/{dist/types → build}/loader/loadingscreen.d.ts +1 -0
- package/build/loader/loadingscreen.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/binary.d.ts +2 -1
- package/build/loader/parsers/binary.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/compressed_textures/compressed_image.d.ts +1 -0
- package/build/loader/parsers/compressed_textures/compressed_image.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parseDDS.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parseDDS.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parseKTX.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parseKTX.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parseKTX2.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parseKTX2.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parsePKM.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parsePKM.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parsePVR.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parsePVR.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/fetchdata.d.ts +2 -1
- package/build/loader/parsers/fetchdata.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/fontface.d.ts +2 -1
- package/build/loader/parsers/fontface.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/image.d.ts +2 -1
- package/build/loader/parsers/image.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/json.d.ts +2 -1
- package/build/loader/parsers/json.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/script.d.ts +2 -1
- package/build/loader/parsers/script.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/tmx.d.ts +2 -1
- package/build/loader/parsers/tmx.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/video.d.ts +2 -1
- package/build/loader/parsers/video.d.ts.map +1 -0
- package/build/math/color.d.ts +192 -0
- package/build/math/color.d.ts.map +1 -0
- package/build/math/math.d.ts +128 -0
- package/build/math/math.d.ts.map +1 -0
- package/build/math/matrix2d.d.ts +163 -0
- package/build/math/matrix2d.d.ts.map +1 -0
- package/build/math/matrix3d.d.ts +188 -0
- package/build/math/matrix3d.d.ts.map +1 -0
- package/build/math/observableVector2d.d.ts +286 -0
- package/build/math/observableVector2d.d.ts.map +1 -0
- package/build/math/observableVector2d_old.d.ts +76 -0
- package/build/math/observableVector2d_old.d.ts.map +1 -0
- package/build/math/observableVector3d.d.ts +283 -0
- package/build/math/observableVector3d.d.ts.map +1 -0
- package/build/math/observableVector3d_old.d.ts +81 -0
- package/build/math/observableVector3d_old.d.ts.map +1 -0
- package/build/math/vector2d.d.ts +253 -0
- package/build/math/vector2d.d.ts.map +1 -0
- package/build/math/vector3d.d.ts +242 -0
- package/build/math/vector3d.d.ts.map +1 -0
- package/{dist/types → build}/particles/emitter.d.ts +16 -40
- package/build/particles/emitter.d.ts.map +1 -0
- package/build/particles/particle.d.ts +47 -0
- package/build/particles/particle.d.ts.map +1 -0
- package/{dist/types → build}/particles/settings.d.ts +1 -0
- package/build/particles/settings.d.ts.map +1 -0
- package/{dist/types → build}/physics/body.d.ts +39 -21
- package/build/physics/body.d.ts.map +1 -0
- package/build/physics/bounds.d.ts +192 -0
- package/build/physics/bounds.d.ts.map +1 -0
- package/{dist/types → build}/physics/collision.d.ts +6 -4
- package/build/physics/collision.d.ts.map +1 -0
- package/{dist/types → build}/physics/detector.d.ts +13 -5
- package/build/physics/detector.d.ts.map +1 -0
- package/{dist/types → build}/physics/quadtree.d.ts +7 -18
- package/build/physics/quadtree.d.ts.map +1 -0
- package/{dist/types → build}/physics/response.d.ts +46 -5
- package/build/physics/response.d.ts.map +1 -0
- package/{dist/types → build}/physics/sat.d.ts +8 -0
- package/build/physics/sat.d.ts.map +1 -0
- package/{dist/types → build}/physics/world.d.ts +9 -4
- package/build/physics/world.d.ts.map +1 -0
- package/{dist/types → build}/plugin/plugin.d.ts +11 -18
- package/build/plugin/plugin.d.ts.map +1 -0
- package/build/polyfill/console.d.ts +2 -0
- package/build/polyfill/console.d.ts.map +1 -0
- package/build/polyfill/index.d.ts +6 -0
- package/build/polyfill/index.d.ts.map +1 -0
- package/build/polyfill/roundrect.d.ts +2 -0
- package/build/polyfill/roundrect.d.ts.map +1 -0
- package/build/pool.d.ts +39 -0
- package/build/pool.d.ts.map +1 -0
- package/{dist/types → build}/renderable/collectable.d.ts +2 -2
- package/build/renderable/collectable.d.ts.map +1 -0
- package/build/renderable/colorlayer.d.ts +41 -0
- package/build/renderable/colorlayer.d.ts.map +1 -0
- package/{dist/types → build}/renderable/container.d.ts +50 -19
- package/build/renderable/container.d.ts.map +1 -0
- package/{dist/types → build}/renderable/draggable.d.ts +5 -13
- package/build/renderable/draggable.d.ts.map +1 -0
- package/{dist/types → build}/renderable/dragndrop.d.ts +12 -21
- package/build/renderable/dragndrop.d.ts.map +1 -0
- package/{dist/types → build}/renderable/entity/entity.d.ts +17 -11
- package/build/renderable/entity/entity.d.ts.map +1 -0
- package/{dist/types → build}/renderable/imagelayer.d.ts +28 -8
- package/build/renderable/imagelayer.d.ts.map +1 -0
- package/build/renderable/light2d.d.ts +73 -0
- package/build/renderable/light2d.d.ts.map +1 -0
- package/{dist/types → build}/renderable/nineslicesprite.d.ts +9 -3
- package/build/renderable/nineslicesprite.d.ts.map +1 -0
- package/{dist/types → build}/renderable/renderable.d.ts +71 -50
- package/build/renderable/renderable.d.ts.map +1 -0
- package/{dist/types → build}/renderable/sprite.d.ts +34 -13
- package/build/renderable/sprite.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/bitmaptext.d.ts +7 -8
- package/build/renderable/text/bitmaptext.d.ts.map +1 -0
- package/build/renderable/text/bitmaptextdata.d.ts +17 -0
- package/build/renderable/text/bitmaptextdata.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/glyph.d.ts +15 -3
- package/build/renderable/text/glyph.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/text.d.ts +7 -16
- package/build/renderable/text/text.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/textmetrics.d.ts +8 -9
- package/build/renderable/text/textmetrics.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/textstyle.d.ts +1 -0
- package/build/renderable/text/textstyle.d.ts.map +1 -0
- package/{dist/types → build}/renderable/trigger.d.ts +22 -7
- package/build/renderable/trigger.d.ts.map +1 -0
- package/{dist/types → build}/renderable/ui/uibaseelement.d.ts +7 -7
- package/build/renderable/ui/uibaseelement.d.ts.map +1 -0
- package/{dist/types → build}/renderable/ui/uispriteelement.d.ts +4 -6
- package/build/renderable/ui/uispriteelement.d.ts.map +1 -0
- package/{dist/types → build}/renderable/ui/uitextbutton.d.ts +17 -4
- package/build/renderable/ui/uitextbutton.d.ts.map +1 -0
- package/{dist/types → build}/state/stage.d.ts +3 -3
- package/build/state/stage.d.ts.map +1 -0
- package/{dist/types → build}/state/state.d.ts +10 -9
- package/build/state/state.d.ts.map +1 -0
- package/{dist/types → build}/system/device.d.ts +49 -80
- package/build/system/device.d.ts.map +1 -0
- package/build/system/dom.d.ts +2 -0
- package/build/system/dom.d.ts.map +1 -0
- package/{dist/types → build}/system/event.d.ts +124 -291
- package/build/system/event.d.ts.map +1 -0
- package/build/system/eventEmitter.d.ts +19 -0
- package/build/system/eventEmitter.d.ts.map +1 -0
- package/build/system/eventEmitter.spec.d.ts +2 -0
- package/build/system/eventEmitter.spec.d.ts.map +1 -0
- package/{dist/types/system/pooling.d.ts → build/system/legacy_pool.d.ts} +22 -7
- package/build/system/legacy_pool.d.ts.map +1 -0
- package/build/system/platform.d.ts +34 -0
- package/build/system/platform.d.ts.map +1 -0
- package/build/system/pool.d.ts +26 -0
- package/build/system/pool.d.ts.map +1 -0
- package/build/system/save.d.ts +3 -0
- package/build/system/save.d.ts.map +1 -0
- package/build/system/timer.d.ts +118 -0
- package/build/system/timer.d.ts.map +1 -0
- package/build/tweens/easing.d.ts +93 -0
- package/build/tweens/easing.d.ts.map +1 -0
- package/build/tweens/interpolation.d.ts +7 -0
- package/build/tweens/interpolation.d.ts.map +1 -0
- package/build/tweens/tween.d.ts +234 -0
- package/build/tweens/tween.d.ts.map +1 -0
- package/build/utils/agent.d.ts +16 -0
- package/build/utils/agent.d.ts.map +1 -0
- package/build/utils/array-multimap.d.ts +14 -0
- package/build/utils/array-multimap.d.ts.map +1 -0
- package/build/utils/array.d.ts +30 -0
- package/build/utils/array.d.ts.map +1 -0
- package/build/utils/file.d.ts +16 -0
- package/build/utils/file.d.ts.map +1 -0
- package/build/utils/function.d.ts +24 -0
- package/build/utils/function.d.ts.map +1 -0
- package/build/utils/semver.d.ts +2 -0
- package/build/utils/semver.d.ts.map +1 -0
- package/build/utils/string.d.ts +35 -0
- package/build/utils/string.d.ts.map +1 -0
- package/build/utils/types.d.ts +5 -0
- package/build/utils/types.d.ts.map +1 -0
- package/build/utils/utils.d.ts +49 -0
- package/build/utils/utils.d.ts.map +1 -0
- package/build/version.d.ts +5 -0
- package/build/version.d.ts.map +1 -0
- package/{dist/types → build}/video/canvas/canvas_renderer.d.ts +58 -22
- package/build/video/canvas/canvas_renderer.d.ts.map +1 -0
- package/{dist/types → build}/video/renderer.d.ts +38 -17
- package/build/video/renderer.d.ts.map +1 -0
- package/{dist/types → build}/video/rendertarget/canvasrendertarget.d.ts +20 -10
- package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/atlas.d.ts +14 -9
- package/build/video/texture/atlas.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/cache.d.ts +4 -3
- package/build/video/texture/cache.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/parser/aseprite.d.ts +1 -0
- package/build/video/texture/parser/aseprite.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/parser/spritesheet.d.ts +1 -0
- package/build/video/texture/parser/spritesheet.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/parser/texturepacker.d.ts +1 -0
- package/build/video/texture/parser/texturepacker.d.ts.map +1 -0
- package/build/video/utils/autodetect.d.ts +8 -0
- package/build/video/utils/autodetect.d.ts.map +1 -0
- package/{dist/types → build}/video/video.d.ts +4 -3
- package/build/video/video.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/buffer/vertex.d.ts +5 -6
- package/build/video/webgl/buffer/vertex.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/compositors/compositor.d.ts +9 -2
- package/build/video/webgl/compositors/compositor.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/compositors/primitive_compositor.d.ts +7 -3
- package/build/video/webgl/compositors/primitive_compositor.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/compositors/quad_compositor.d.ts +5 -5
- package/build/video/webgl/compositors/quad_compositor.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/glshader.d.ts +2 -2
- package/build/video/webgl/glshader.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/attributes.d.ts +1 -0
- package/build/video/webgl/utils/attributes.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/precision.d.ts +1 -0
- package/build/video/webgl/utils/precision.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/program.d.ts +1 -0
- package/build/video/webgl/utils/program.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/string.d.ts +1 -0
- package/build/video/webgl/utils/string.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/uniforms.d.ts +1 -0
- package/build/video/webgl/utils/uniforms.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/webgl_renderer.d.ts +55 -43
- package/build/video/webgl/webgl_renderer.d.ts.map +1 -0
- package/package.json +83 -105
- package/LICENSE.md +0 -21
- package/README.md +0 -223
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +0 -14
- package/dist/melonjs.mjs/_virtual/earcut.js +0 -10
- package/dist/melonjs.mjs/_virtual/howler.js +0 -10
- package/dist/melonjs.mjs/_virtual/index.js +0 -10
- package/dist/melonjs.mjs/_virtual/re.js +0 -10
- package/dist/melonjs.mjs/application/application.js +0 -437
- package/dist/melonjs.mjs/application/header.js +0 -35
- package/dist/melonjs.mjs/application/resize.js +0 -123
- package/dist/melonjs.mjs/application/settings.js +0 -65
- package/dist/melonjs.mjs/audio/audio.js +0 -618
- package/dist/melonjs.mjs/camera/camera2d.js +0 -729
- package/dist/melonjs.mjs/const.js +0 -32
- package/dist/melonjs.mjs/geometries/ellipse.js +0 -245
- package/dist/melonjs.mjs/geometries/line.js +0 -108
- package/dist/melonjs.mjs/geometries/path2d.js +0 -474
- package/dist/melonjs.mjs/geometries/point.js +0 -80
- package/dist/melonjs.mjs/geometries/poly.js +0 -433
- package/dist/melonjs.mjs/geometries/rectangle.js +0 -330
- package/dist/melonjs.mjs/geometries/roundrect.js +0 -165
- package/dist/melonjs.mjs/geometries/toarccanvas.js +0 -103
- package/dist/melonjs.mjs/index.js +0 -239
- package/dist/melonjs.mjs/input/gamepad.js +0 -495
- package/dist/melonjs.mjs/input/input.js +0 -26
- package/dist/melonjs.mjs/input/keyboard.js +0 -470
- package/dist/melonjs.mjs/input/pointer.js +0 -393
- package/dist/melonjs.mjs/input/pointerevent.js +0 -803
- package/dist/melonjs.mjs/lang/console.js +0 -44
- package/dist/melonjs.mjs/lang/deprecated.js +0 -200
- package/dist/melonjs.mjs/level/level.js +0 -298
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +0 -120
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +0 -432
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +0 -295
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +0 -177
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +0 -574
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +0 -292
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +0 -74
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +0 -417
- package/dist/melonjs.mjs/level/tiled/constants.js +0 -17
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +0 -503
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +0 -215
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +0 -155
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +0 -113
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +0 -107
- package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +0 -38
- package/dist/melonjs.mjs/loader/cache.js +0 -30
- package/dist/melonjs.mjs/loader/loader.js +0 -728
- package/dist/melonjs.mjs/loader/loadingscreen.js +0 -118
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +0 -10
- package/dist/melonjs.mjs/loader/parsers/binary.js +0 -42
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/compressed_image.js +0 -58
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseDDS.js +0 -13
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX.js +0 -13
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX2.js +0 -13
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePKM.js +0 -13
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePVR.js +0 -136
- package/dist/melonjs.mjs/loader/parsers/fetchdata.js +0 -62
- package/dist/melonjs.mjs/loader/parsers/fontface.js +0 -62
- package/dist/melonjs.mjs/loader/parsers/image.js +0 -129
- package/dist/melonjs.mjs/loader/parsers/json.js +0 -43
- package/dist/melonjs.mjs/loader/parsers/script.js +0 -46
- package/dist/melonjs.mjs/loader/parsers/tmx.js +0 -103
- package/dist/melonjs.mjs/loader/parsers/video.js +0 -99
- package/dist/melonjs.mjs/math/color.js +0 -635
- package/dist/melonjs.mjs/math/math.js +0 -221
- package/dist/melonjs.mjs/math/matrix2.js +0 -487
- package/dist/melonjs.mjs/math/matrix3.js +0 -621
- package/dist/melonjs.mjs/math/observable_vector2.js +0 -468
- package/dist/melonjs.mjs/math/observable_vector3.js +0 -558
- package/dist/melonjs.mjs/math/vector2.js +0 -431
- package/dist/melonjs.mjs/math/vector3.js +0 -468
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +0 -45
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +0 -130
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +0 -694
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +0 -352
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +0 -12
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +0 -3246
- package/dist/melonjs.mjs/node_modules/semver/classes/comparator.js +0 -165
- package/dist/melonjs.mjs/node_modules/semver/classes/range.js +0 -565
- package/dist/melonjs.mjs/node_modules/semver/classes/semver.js +0 -317
- package/dist/melonjs.mjs/node_modules/semver/functions/clean.js +0 -17
- package/dist/melonjs.mjs/node_modules/semver/functions/cmp.js +0 -68
- package/dist/melonjs.mjs/node_modules/semver/functions/coerce.js +0 -73
- package/dist/melonjs.mjs/node_modules/semver/functions/compare-build.js +0 -18
- package/dist/melonjs.mjs/node_modules/semver/functions/compare-loose.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/compare.js +0 -16
- package/dist/melonjs.mjs/node_modules/semver/functions/diff.js +0 -76
- package/dist/melonjs.mjs/node_modules/semver/functions/eq.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/gt.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/gte.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/inc.js +0 -30
- package/dist/melonjs.mjs/node_modules/semver/functions/lt.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/lte.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/major.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/minor.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/neq.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/parse.js +0 -27
- package/dist/melonjs.mjs/node_modules/semver/functions/patch.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/prerelease.js +0 -17
- package/dist/melonjs.mjs/node_modules/semver/functions/rcompare.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/rsort.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/satisfies.js +0 -21
- package/dist/melonjs.mjs/node_modules/semver/functions/sort.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/valid.js +0 -17
- package/dist/melonjs.mjs/node_modules/semver/index.js +0 -140
- package/dist/melonjs.mjs/node_modules/semver/internal/constants.js +0 -44
- package/dist/melonjs.mjs/node_modules/semver/internal/debug.js +0 -18
- package/dist/melonjs.mjs/node_modules/semver/internal/identifiers.js +0 -32
- package/dist/melonjs.mjs/node_modules/semver/internal/lrucache.js +0 -49
- package/dist/melonjs.mjs/node_modules/semver/internal/parse-options.js +0 -24
- package/dist/melonjs.mjs/node_modules/semver/internal/re.js +0 -234
- package/dist/melonjs.mjs/node_modules/semver/ranges/gtr.js +0 -15
- package/dist/melonjs.mjs/node_modules/semver/ranges/intersects.js +0 -18
- package/dist/melonjs.mjs/node_modules/semver/ranges/ltr.js +0 -15
- package/dist/melonjs.mjs/node_modules/semver/ranges/max-satisfying.js +0 -37
- package/dist/melonjs.mjs/node_modules/semver/ranges/min-satisfying.js +0 -36
- package/dist/melonjs.mjs/node_modules/semver/ranges/min-version.js +0 -74
- package/dist/melonjs.mjs/node_modules/semver/ranges/outside.js +0 -98
- package/dist/melonjs.mjs/node_modules/semver/ranges/simplify.js +0 -59
- package/dist/melonjs.mjs/node_modules/semver/ranges/subset.js +0 -261
- package/dist/melonjs.mjs/node_modules/semver/ranges/to-comparators.js +0 -19
- package/dist/melonjs.mjs/node_modules/semver/ranges/valid.js +0 -22
- package/dist/melonjs.mjs/particles/emitter.js +0 -265
- package/dist/melonjs.mjs/particles/particle.js +0 -186
- package/dist/melonjs.mjs/particles/settings.js +0 -317
- package/dist/melonjs.mjs/physics/body.js +0 -706
- package/dist/melonjs.mjs/physics/bounds.js +0 -409
- package/dist/melonjs.mjs/physics/collision.js +0 -130
- package/dist/melonjs.mjs/physics/detector.js +0 -218
- package/dist/melonjs.mjs/physics/quadtree.js +0 -396
- package/dist/melonjs.mjs/physics/response.js +0 -57
- package/dist/melonjs.mjs/physics/sat.js +0 -483
- package/dist/melonjs.mjs/physics/world.js +0 -224
- package/dist/melonjs.mjs/plugin/plugin.js +0 -168
- package/dist/melonjs.mjs/renderable/collectable.js +0 -60
- package/dist/melonjs.mjs/renderable/colorlayer.js +0 -78
- package/dist/melonjs.mjs/renderable/container.js +0 -994
- package/dist/melonjs.mjs/renderable/draggable.js +0 -121
- package/dist/melonjs.mjs/renderable/dragndrop.js +0 -114
- package/dist/melonjs.mjs/renderable/entity/entity.js +0 -254
- package/dist/melonjs.mjs/renderable/imagelayer.js +0 -288
- package/dist/melonjs.mjs/renderable/light2d.js +0 -164
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +0 -242
- package/dist/melonjs.mjs/renderable/renderable.js +0 -860
- package/dist/melonjs.mjs/renderable/sprite.js +0 -694
- package/dist/melonjs.mjs/renderable/text/bitmaptext.js +0 -421
- package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +0 -195
- package/dist/melonjs.mjs/renderable/text/glyph.js +0 -65
- package/dist/melonjs.mjs/renderable/text/text.js +0 -424
- package/dist/melonjs.mjs/renderable/text/textmetrics.js +0 -176
- package/dist/melonjs.mjs/renderable/text/textstyle.js +0 -21
- package/dist/melonjs.mjs/renderable/trigger.js +0 -158
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +0 -285
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +0 -231
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +0 -146
- package/dist/melonjs.mjs/state/stage.js +0 -235
- package/dist/melonjs.mjs/state/state.js +0 -548
- package/dist/melonjs.mjs/system/device.js +0 -872
- package/dist/melonjs.mjs/system/dom.js +0 -79
- package/dist/melonjs.mjs/system/event.js +0 -606
- package/dist/melonjs.mjs/system/platform.js +0 -43
- package/dist/melonjs.mjs/system/pooling.js +0 -182
- package/dist/melonjs.mjs/system/save.js +0 -157
- package/dist/melonjs.mjs/system/timer.js +0 -274
- package/dist/melonjs.mjs/tweens/easing.js +0 -334
- package/dist/melonjs.mjs/tweens/interpolation.js +0 -112
- package/dist/melonjs.mjs/tweens/tween.js +0 -479
- package/dist/melonjs.mjs/utils/agent.js +0 -77
- package/dist/melonjs.mjs/utils/array.js +0 -63
- package/dist/melonjs.mjs/utils/file.js +0 -54
- package/dist/melonjs.mjs/utils/function.js +0 -69
- package/dist/melonjs.mjs/utils/string.js +0 -82
- package/dist/melonjs.mjs/utils/utils.js +0 -139
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +0 -883
- package/dist/melonjs.mjs/video/renderer.js +0 -393
- package/dist/melonjs.mjs/video/rendertarget/canvasrendertarget.js +0 -310
- package/dist/melonjs.mjs/video/texture/atlas.js +0 -460
- package/dist/melonjs.mjs/video/texture/cache.js +0 -186
- package/dist/melonjs.mjs/video/texture/parser/aseprite.js +0 -78
- package/dist/melonjs.mjs/video/texture/parser/spritesheet.js +0 -77
- package/dist/melonjs.mjs/video/texture/parser/texturepacker.js +0 -64
- package/dist/melonjs.mjs/video/utils/autodetect.js +0 -27
- package/dist/melonjs.mjs/video/video.js +0 -142
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +0 -146
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +0 -234
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +0 -77
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +0 -254
- package/dist/melonjs.mjs/video/webgl/glshader.js +0 -166
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +0 -10
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +0 -10
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +0 -10
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +0 -10
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +0 -25
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +0 -38
- package/dist/melonjs.mjs/video/webgl/utils/program.js +0 -67
- package/dist/melonjs.mjs/video/webgl/utils/string.js +0 -25
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +0 -92
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +0 -1199
- package/dist/melonjs.module.js +0 -42838
- package/dist/types/application/header.d.ts +0 -5
- package/dist/types/application/settings.d.ts +0 -105
- package/dist/types/const.d.ts +0 -21
- package/dist/types/geometries/ellipse.d.ts +0 -127
- package/dist/types/geometries/line.d.ts +0 -11
- package/dist/types/geometries/point.d.ts +0 -46
- package/dist/types/geometries/poly.d.ts +0 -175
- package/dist/types/geometries/rectangle.d.ts +0 -130
- package/dist/types/geometries/roundrect.d.ts +0 -43
- package/dist/types/geometries/toarccanvas.d.ts +0 -10
- package/dist/types/input/keyboard.d.ts +0 -205
- package/dist/types/input/pointer.d.ts +0 -261
- package/dist/types/lang/deprecated.d.ts +0 -68
- package/dist/types/loader/cache.d.ts +0 -9
- package/dist/types/loader/parsers/compressed_textures/parseDDS.d.ts +0 -1
- package/dist/types/loader/parsers/compressed_textures/parseKTX.d.ts +0 -1
- package/dist/types/loader/parsers/compressed_textures/parseKTX2.d.ts +0 -1
- package/dist/types/loader/parsers/compressed_textures/parsePKM.d.ts +0 -1
- package/dist/types/loader/parsers/compressed_textures/parsePVR.d.ts +0 -1
- package/dist/types/math/color.d.ts +0 -179
- package/dist/types/math/math.d.ts +0 -149
- package/dist/types/math/matrix2.d.ts +0 -165
- package/dist/types/math/matrix3.d.ts +0 -177
- package/dist/types/math/observable_vector2.d.ts +0 -278
- package/dist/types/math/observable_vector3.d.ts +0 -277
- package/dist/types/math/vector2.d.ts +0 -255
- package/dist/types/math/vector3.d.ts +0 -266
- package/dist/types/particles/particle.d.ts +0 -32
- package/dist/types/physics/bounds.d.ts +0 -195
- package/dist/types/polyfill/console.d.ts +0 -1
- package/dist/types/polyfill/index.d.ts +0 -1
- package/dist/types/polyfill/roundrect.d.ts +0 -1
- package/dist/types/renderable/colorlayer.d.ts +0 -28
- package/dist/types/renderable/light2d.d.ts +0 -58
- package/dist/types/renderable/text/bitmaptextdata.d.ts +0 -35
- package/dist/types/system/dom.d.ts +0 -1
- package/dist/types/system/platform.d.ts +0 -33
- package/dist/types/system/save.d.ts +0 -25
- package/dist/types/system/timer.d.ts +0 -126
- package/dist/types/tweens/easing.d.ts +0 -46
- package/dist/types/tweens/interpolation.d.ts +0 -18
- package/dist/types/tweens/tween.d.ts +0 -195
- package/dist/types/utils/agent.d.ts +0 -21
- package/dist/types/utils/array.d.ts +0 -39
- package/dist/types/utils/file.d.ts +0 -27
- package/dist/types/utils/function.d.ts +0 -31
- package/dist/types/utils/string.d.ts +0 -50
- package/dist/types/utils/utils.d.ts +0 -54
- package/dist/types/video/utils/autodetect.d.ts +0 -5
- package/src/application/application.js +0 -429
- package/src/application/header.js +0 -26
- package/src/application/resize.js +0 -114
- package/src/application/settings.js +0 -56
- package/src/audio/audio.js +0 -617
- package/src/camera/camera2d.js +0 -724
- package/src/const.js +0 -23
- package/src/geometries/ellipse.js +0 -236
- package/src/geometries/line.js +0 -99
- package/src/geometries/path2d.js +0 -464
- package/src/geometries/point.js +0 -71
- package/src/geometries/poly.js +0 -424
- package/src/geometries/rectangle.js +0 -321
- package/src/geometries/roundrect.js +0 -156
- package/src/geometries/toarccanvas.js +0 -94
- package/src/index.js +0 -315
- package/src/input/gamepad.js +0 -487
- package/src/input/input.js +0 -17
- package/src/input/keyboard.js +0 -461
- package/src/input/pointer.js +0 -386
- package/src/input/pointerevent.js +0 -794
- package/src/lang/console.js +0 -36
- package/src/lang/deprecated.js +0 -192
- package/src/level/level.js +0 -290
- package/src/level/tiled/TMXGroup.js +0 -111
- package/src/level/tiled/TMXLayer.js +0 -424
- package/src/level/tiled/TMXObject.js +0 -286
- package/src/level/tiled/TMXTile.js +0 -168
- package/src/level/tiled/TMXTileMap.js +0 -569
- package/src/level/tiled/TMXTileset.js +0 -284
- package/src/level/tiled/TMXTilesetGroup.js +0 -66
- package/src/level/tiled/TMXUtils.js +0 -408
- package/src/level/tiled/constants.js +0 -8
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +0 -497
- package/src/level/tiled/renderer/TMXIsometricRenderer.js +0 -208
- package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +0 -149
- package/src/level/tiled/renderer/TMXRenderer.js +0 -103
- package/src/level/tiled/renderer/TMXStaggeredRenderer.js +0 -100
- package/src/level/tiled/renderer/autodetect.js +0 -29
- package/src/loader/cache.js +0 -22
- package/src/loader/loader.js +0 -727
- package/src/loader/loadingscreen.js +0 -112
- package/src/loader/melonjs_logo.png +0 -0
- package/src/loader/parsers/binary.js +0 -33
- package/src/loader/parsers/compressed_textures/compressed_image.js +0 -49
- package/src/loader/parsers/compressed_textures/parseDDS.js +0 -5
- package/src/loader/parsers/compressed_textures/parseKTX.js +0 -5
- package/src/loader/parsers/compressed_textures/parseKTX2.js +0 -5
- package/src/loader/parsers/compressed_textures/parsePKM.js +0 -5
- package/src/loader/parsers/compressed_textures/parsePVR.js +0 -127
- package/src/loader/parsers/fetchdata.js +0 -53
- package/src/loader/parsers/fontface.js +0 -54
- package/src/loader/parsers/image.js +0 -120
- package/src/loader/parsers/json.js +0 -35
- package/src/loader/parsers/script.js +0 -37
- package/src/loader/parsers/tmx.js +0 -95
- package/src/loader/parsers/video.js +0 -90
- package/src/math/color.js +0 -627
- package/src/math/math.js +0 -212
- package/src/math/matrix2.js +0 -479
- package/src/math/matrix3.js +0 -613
- package/src/math/observable_vector2.js +0 -460
- package/src/math/observable_vector3.js +0 -550
- package/src/math/vector2.js +0 -423
- package/src/math/vector3.js +0 -460
- package/src/particles/emitter.js +0 -258
- package/src/particles/particle.js +0 -178
- package/src/particles/settings.js +0 -310
- package/src/physics/body.js +0 -698
- package/src/physics/bounds.js +0 -401
- package/src/physics/collision.js +0 -123
- package/src/physics/detector.js +0 -209
- package/src/physics/quadtree.js +0 -387
- package/src/physics/response.js +0 -48
- package/src/physics/sat.js +0 -473
- package/src/physics/world.js +0 -216
- package/src/plugin/plugin.js +0 -159
- package/src/polyfill/console.js +0 -11
- package/src/polyfill/index.js +0 -13
- package/src/polyfill/roundrect.js +0 -237
- package/src/renderable/collectable.js +0 -51
- package/src/renderable/colorlayer.js +0 -70
- package/src/renderable/container.js +0 -985
- package/src/renderable/draggable.js +0 -114
- package/src/renderable/dragndrop.js +0 -106
- package/src/renderable/entity/entity.js +0 -246
- package/src/renderable/imagelayer.js +0 -280
- package/src/renderable/light2d.js +0 -155
- package/src/renderable/nineslicesprite.js +0 -233
- package/src/renderable/renderable.js +0 -852
- package/src/renderable/sprite.js +0 -685
- package/src/renderable/text/bitmaptext.js +0 -418
- package/src/renderable/text/bitmaptextdata.js +0 -186
- package/src/renderable/text/glyph.js +0 -57
- package/src/renderable/text/text.js +0 -415
- package/src/renderable/text/textmetrics.js +0 -167
- package/src/renderable/text/textstyle.js +0 -12
- package/src/renderable/trigger.js +0 -149
- package/src/renderable/ui/uibaseelement.js +0 -276
- package/src/renderable/ui/uispriteelement.js +0 -223
- package/src/renderable/ui/uitextbutton.js +0 -140
- package/src/state/stage.js +0 -226
- package/src/state/state.js +0 -541
- package/src/system/device.js +0 -863
- package/src/system/dom.js +0 -70
- package/src/system/event.js +0 -597
- package/src/system/platform.js +0 -34
- package/src/system/pooling.js +0 -190
- package/src/system/save.js +0 -148
- package/src/system/timer.js +0 -281
- package/src/tweens/easing.js +0 -325
- package/src/tweens/interpolation.js +0 -103
- package/src/tweens/tween.js +0 -470
- package/src/utils/agent.js +0 -68
- package/src/utils/array.js +0 -54
- package/src/utils/file.js +0 -46
- package/src/utils/function.js +0 -60
- package/src/utils/string.js +0 -73
- package/src/utils/utils.js +0 -127
- package/src/video/canvas/canvas_renderer.js +0 -874
- package/src/video/renderer.js +0 -384
- package/src/video/rendertarget/canvasrendertarget.js +0 -303
- package/src/video/texture/atlas.js +0 -451
- package/src/video/texture/cache.js +0 -178
- package/src/video/texture/parser/aseprite.js +0 -69
- package/src/video/texture/parser/spritesheet.js +0 -68
- package/src/video/texture/parser/texturepacker.js +0 -55
- package/src/video/utils/autodetect.js +0 -18
- package/src/video/video.js +0 -160
- package/src/video/webgl/buffer/vertex.js +0 -137
- package/src/video/webgl/compositors/compositor.js +0 -225
- package/src/video/webgl/compositors/primitive_compositor.js +0 -68
- package/src/video/webgl/compositors/quad_compositor.js +0 -245
- package/src/video/webgl/glshader.js +0 -158
- package/src/video/webgl/shaders/primitive.frag +0 -5
- package/src/video/webgl/shaders/primitive.vert +0 -15
- package/src/video/webgl/shaders/quad.frag +0 -7
- package/src/video/webgl/shaders/quad.vert +0 -18
- package/src/video/webgl/utils/attributes.js +0 -16
- package/src/video/webgl/utils/precision.js +0 -29
- package/src/video/webgl/utils/program.js +0 -58
- package/src/video/webgl/utils/string.js +0 -16
- package/src/video/webgl/utils/uniforms.js +0 -84
- package/src/video/webgl/webgl_renderer.js +0 -1190
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v17.3.0
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* The device platform type
|
|
10
|
-
* @namespace platform
|
|
11
|
-
* @memberof device
|
|
12
|
-
* @property {string} ua the user agent string for the current device
|
|
13
|
-
* @property {boolean} iOS `true` if the device is an iOS platform
|
|
14
|
-
* @property {boolean} android `true` if the device is an Android platform
|
|
15
|
-
* @property {boolean} android2 `true` if the device is an Android 2.x platform
|
|
16
|
-
* @property {boolean} linux `true` if the device is a Linux platform
|
|
17
|
-
* @property {boolean} chromeOS `true` if the device is running on ChromeOS.
|
|
18
|
-
* @property {boolean} wp `true` if the device is a Windows Phone platform
|
|
19
|
-
* @property {boolean} BlackBerry`true` if the device is a BlackBerry platform
|
|
20
|
-
* @property {boolean} Kindle`true` if the device is a Kindle platform
|
|
21
|
-
* @property {boolean} ejecta `true` if running under Ejecta
|
|
22
|
-
* @property {boolean} isWeixin `true` if running under Wechat
|
|
23
|
-
* @property {boolean} nodeJS `true` if running under node.js
|
|
24
|
-
* @property {boolean} isMobile `true` if a mobile device
|
|
25
|
-
* @property {boolean} webApp `true` if running as a standalone web app
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
const ua = typeof globalThis.navigator !== "undefined" ? globalThis.navigator.userAgent : "";
|
|
29
|
-
const iOS = /iPhone|iPad|iPod/i.test(ua);
|
|
30
|
-
const android = /Android/i.test(ua);
|
|
31
|
-
const android2 = /Android 2/i.test(ua);
|
|
32
|
-
const linux = /Linux/i.test(ua);
|
|
33
|
-
const chromeOS = /CrOS/.test(ua);
|
|
34
|
-
const wp = /Windows Phone/i.test(ua);
|
|
35
|
-
const BlackBerry = /BlackBerry/i.test(ua);
|
|
36
|
-
const Kindle = /Kindle|Silk.*Mobile Safari/i.test(ua);
|
|
37
|
-
const ejecta = (typeof globalThis.ejecta !== "undefined");
|
|
38
|
-
const isWeixin = /MicroMessenger/i.test(ua);
|
|
39
|
-
const nodeJS = (typeof globalThis.process !== "undefined") && (typeof globalThis.process.release !== "undefined") && (globalThis.process.release.name === "node");
|
|
40
|
-
const isMobile = /Mobi/i.test(ua) || iOS || android || wp || BlackBerry || Kindle || false;
|
|
41
|
-
const webApp = (typeof globalThis.navigator !== "undefined" && globalThis.navigator.standalone === true) || (typeof globalThis.matchMedia !== "undefined" && globalThis.matchMedia("(display-mode: standalone)").matches);
|
|
42
|
-
|
|
43
|
-
export { BlackBerry, Kindle, android, android2, chromeOS, ejecta, iOS, isMobile, isWeixin, linux, nodeJS, ua, webApp, wp };
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v17.3.0
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* @classdesc
|
|
10
|
-
* Object pooling - a technique that might speed up your game if used properly.<br>
|
|
11
|
-
* If some of your classes will be instantiated and removed a lot at a time, it is a
|
|
12
|
-
* good idea to add the class to this object pool. A separate pool for that class
|
|
13
|
-
* will be created, which will reuse objects of the class. That way they won't be instantiated
|
|
14
|
-
* each time you need a new one (slowing your game), but stored into that pool and taking one
|
|
15
|
-
* already instantiated when you need it.<br><br>
|
|
16
|
-
* This technique is also used by the engine to instantiate objects defined in the map,
|
|
17
|
-
* which means, that on level loading the engine will try to instantiate every object
|
|
18
|
-
* found in the map, based on the user defined name in each Object Properties<br>
|
|
19
|
-
* <img src="images/object_properties.png"/><br>
|
|
20
|
-
* @see {@link pool} the default global instance of ObjectPool
|
|
21
|
-
*/
|
|
22
|
-
class ObjectPool {
|
|
23
|
-
|
|
24
|
-
constructor() {
|
|
25
|
-
this.objectClass = {};
|
|
26
|
-
this.instance_counter = 0;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* register an object to the pool. <br>
|
|
31
|
-
* Pooling must be set to true if more than one such objects will be created. <br>
|
|
32
|
-
* (Note: for an object to be poolable, it must implements a `onResetEvent` method)
|
|
33
|
-
* @param {string} className - as defined in the Name field of the Object Properties (in Tiled)
|
|
34
|
-
* @param {object} classObj - corresponding Class to be instantiated
|
|
35
|
-
* @param {boolean} [recycling=false] - enables object recycling for the specified class
|
|
36
|
-
* @example
|
|
37
|
-
* // implement CherryEntity
|
|
38
|
-
* class Cherry extends Sprite {
|
|
39
|
-
* onResetEvent() {
|
|
40
|
-
* // reset object mutable properties
|
|
41
|
-
* this.lifeBar = 100;
|
|
42
|
-
* }
|
|
43
|
-
* };
|
|
44
|
-
* // add our users defined entities in the object pool and enable object recycling
|
|
45
|
-
* me.pool.register("cherrysprite", Cherry, true);
|
|
46
|
-
*/
|
|
47
|
-
register(className, classObj, recycling = false) {
|
|
48
|
-
if (typeof (classObj) !== "undefined") {
|
|
49
|
-
this.objectClass[className] = {
|
|
50
|
-
"class" : classObj,
|
|
51
|
-
"pool" : (recycling ? [] : undefined)
|
|
52
|
-
};
|
|
53
|
-
} else {
|
|
54
|
-
throw new Error("Cannot register object '" + className + "', invalid class");
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Pull a new instance of the requested object (if added into the object pool)
|
|
60
|
-
* @param {string} name - as used in {@link pool.register}
|
|
61
|
-
* @param {...*} [args] - arguments to be passed when instantiating/reinitializing the object
|
|
62
|
-
* @returns {object} the instance of the requested object
|
|
63
|
-
* @example
|
|
64
|
-
* me.pool.register("bullet", BulletEntity, true);
|
|
65
|
-
* me.pool.register("enemy", EnemyEntity, true);
|
|
66
|
-
* // ...
|
|
67
|
-
* // when we need to manually create a new bullet:
|
|
68
|
-
* let bullet = me.pool.pull("bullet", x, y, direction);
|
|
69
|
-
* // ...
|
|
70
|
-
* // params aren't a fixed number
|
|
71
|
-
* // when we need new enemy we can add more params, that the object construct requires:
|
|
72
|
-
* let enemy = me.pool.pull("enemy", x, y, direction, speed, power, life);
|
|
73
|
-
* // ...
|
|
74
|
-
* // when we want to destroy existing object, the remove
|
|
75
|
-
* // function will ensure the object can then be reallocated later
|
|
76
|
-
* me.game.world.removeChild(enemy);
|
|
77
|
-
* me.game.world.removeChild(bullet);
|
|
78
|
-
*/
|
|
79
|
-
pull(name, ...args) {
|
|
80
|
-
let className = this.objectClass[name];
|
|
81
|
-
if (className) {
|
|
82
|
-
let proto = className["class"],
|
|
83
|
-
poolArray = className.pool,
|
|
84
|
-
obj;
|
|
85
|
-
|
|
86
|
-
if (poolArray && ((obj = poolArray.pop()))) {
|
|
87
|
-
// poolable object must implement a `onResetEvent` method
|
|
88
|
-
obj.onResetEvent.apply(obj, args);
|
|
89
|
-
this.instance_counter--;
|
|
90
|
-
} else {
|
|
91
|
-
// create a new instance
|
|
92
|
-
obj = new (proto.bind.apply(proto, [ proto, ...args ]))();
|
|
93
|
-
if (poolArray) {
|
|
94
|
-
obj.className = name;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return obj;
|
|
98
|
-
}
|
|
99
|
-
throw new Error("Cannot instantiate object of type '" + name + "'");
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* purge the object pool from any inactive object <br>
|
|
104
|
-
* Object pooling must be enabled for this function to work<br>
|
|
105
|
-
* note: this will trigger the garbage collector
|
|
106
|
-
*/
|
|
107
|
-
purge() {
|
|
108
|
-
for (let className in this.objectClass) {
|
|
109
|
-
if (this.objectClass[className]) {
|
|
110
|
-
this.objectClass[className].pool = [];
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
this.instance_counter = 0;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Push back an object instance into the object pool <br>
|
|
118
|
-
* Object pooling for the object class must be enabled,
|
|
119
|
-
* and object must have been instantiated using {@link pool#pull},
|
|
120
|
-
* otherwise this function won't work
|
|
121
|
-
* @throws will throw an error if the object cannot be recycled
|
|
122
|
-
* @param {object} obj - instance to be recycled
|
|
123
|
-
* @param {boolean} [throwOnError=true] - throw an exception if the object cannot be recycled
|
|
124
|
-
* @returns {boolean} true if the object was successfully recycled in the object pool
|
|
125
|
-
*/
|
|
126
|
-
push(obj, throwOnError = true) {
|
|
127
|
-
if (!this.poolable(obj)) {
|
|
128
|
-
if (throwOnError === true) {
|
|
129
|
-
throw new Error("me.pool: object " + obj + " cannot be recycled");
|
|
130
|
-
} else {
|
|
131
|
-
return false;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
// store back the object instance for later recycling
|
|
136
|
-
this.objectClass[obj.className].pool.push(obj);
|
|
137
|
-
this.instance_counter++;
|
|
138
|
-
|
|
139
|
-
return true;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Check if an object with the provided name is registered
|
|
144
|
-
* @param {string} name - of the registered object class
|
|
145
|
-
* @returns {boolean} true if the classname is registered
|
|
146
|
-
*/
|
|
147
|
-
exists(name) {
|
|
148
|
-
return name in this.objectClass;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* Check if an object is poolable
|
|
153
|
-
* (was properly registered with the recycling feature enable)
|
|
154
|
-
* @see register
|
|
155
|
-
* @param {object} obj - object to be checked
|
|
156
|
-
* @returns {boolean} true if the object is poolable
|
|
157
|
-
* @example
|
|
158
|
-
* if (!me.pool.poolable(myCherryEntity)) {
|
|
159
|
-
* // object was not properly registered
|
|
160
|
-
* }
|
|
161
|
-
*/
|
|
162
|
-
poolable(obj) {
|
|
163
|
-
let className = obj.className;
|
|
164
|
-
return (typeof className !== "undefined") &&
|
|
165
|
-
(typeof obj.onResetEvent === "function") &&
|
|
166
|
-
(className in this.objectClass) &&
|
|
167
|
-
(typeof this.objectClass[className].pool !== "undefined");
|
|
168
|
-
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* returns the amount of object instance currently in the pool
|
|
173
|
-
* @returns {number} amount of object instance
|
|
174
|
-
*/
|
|
175
|
-
getInstanceCount() {
|
|
176
|
-
return this.instance_counter;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
let pool = new ObjectPool();
|
|
181
|
-
|
|
182
|
-
export { pool as default };
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v17.3.0
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import { once, BOOT } from './event.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* allow to access and manage the device localStorage
|
|
12
|
-
* @example
|
|
13
|
-
* // Initialize "score" and "lives" with default values
|
|
14
|
-
* // This loads the properties from localStorage if they exist, else it sets the given defaults
|
|
15
|
-
* me.save.add({ score : 0, lives : 3 });
|
|
16
|
-
*
|
|
17
|
-
* // Print all
|
|
18
|
-
* // On first load, this prints { score : 0, lives : 3 }
|
|
19
|
-
* // On further reloads, it prints { score : 31337, lives : 3, complexObject : ... }
|
|
20
|
-
* // Because the following changes will be saved to localStorage
|
|
21
|
-
* console.log(JSON.stringify(me.save));
|
|
22
|
-
*
|
|
23
|
-
* // Save score
|
|
24
|
-
* me.save.score = 31337;
|
|
25
|
-
*
|
|
26
|
-
* // Also supports complex objects thanks to the JSON backend
|
|
27
|
-
* me.save.add({ complexObject : {} })
|
|
28
|
-
* me.save.complexObject = { a : "b", c : [ 1, 2, 3, "d" ], e : { f : [{}] } };
|
|
29
|
-
*
|
|
30
|
-
* // WARNING: Do not set any child properties of complex objects directly!
|
|
31
|
-
* // Changes made that way will not save. Always set the entire object value at once.
|
|
32
|
-
* // If you cannot live with this limitation, there's a workaround:
|
|
33
|
-
* me.save.complexObject.c.push("foo"); // Modify a child property
|
|
34
|
-
* me.save.complexObject = me.save.complexObject; // Save the entire object!
|
|
35
|
-
*
|
|
36
|
-
* // Remove "lives" from localStorage
|
|
37
|
-
* me.save.remove("lives");
|
|
38
|
-
* @namespace save
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
|
-
// Variable to hold the object data
|
|
42
|
-
let data = {};
|
|
43
|
-
|
|
44
|
-
let hasLocalStorage = false;
|
|
45
|
-
|
|
46
|
-
try {
|
|
47
|
-
// true if localStorage is supported
|
|
48
|
-
hasLocalStorage = typeof globalThis !== "undefined" && typeof globalThis.localStorage !== "undefined";
|
|
49
|
-
} catch {
|
|
50
|
-
// the above generates an exception when cookies are blocked
|
|
51
|
-
hasLocalStorage = false;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* a function to check if the given key is a reserved word
|
|
56
|
-
* @ignore
|
|
57
|
-
*/
|
|
58
|
-
function isReserved(key) {
|
|
59
|
-
return (key === "add" || key === "remove");
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
// Initialize me.save on Boot event
|
|
64
|
-
once(BOOT, () => {
|
|
65
|
-
// Load previous data if local Storage is supported
|
|
66
|
-
if (hasLocalStorage === true) {
|
|
67
|
-
let me_save_content = globalThis.localStorage.getItem("me.save");
|
|
68
|
-
|
|
69
|
-
if (typeof me_save_content === "string" && me_save_content.length > 0) {
|
|
70
|
-
let keys = JSON.parse(me_save_content) || [];
|
|
71
|
-
keys.forEach((key) => {
|
|
72
|
-
data[key] = JSON.parse(globalThis.localStorage.getItem("me.save." + key));
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
let save = {
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Add new keys to localStorage and set them to the given default values if they do not exist
|
|
82
|
-
* @name add
|
|
83
|
-
* @memberof save
|
|
84
|
-
* @param {object} props - key and corresponding values
|
|
85
|
-
* @example
|
|
86
|
-
* // Initialize "score" and "lives" with default values
|
|
87
|
-
* me.save.add({ score : 0, lives : 3 });
|
|
88
|
-
* // get or set the value through me.save
|
|
89
|
-
* me.save.score = 1000;
|
|
90
|
-
*/
|
|
91
|
-
add(props) {
|
|
92
|
-
let obj = save;
|
|
93
|
-
|
|
94
|
-
Object.keys(props).forEach((key) => {
|
|
95
|
-
if (isReserved(key)) {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
(function (prop) {
|
|
100
|
-
Object.defineProperty(obj, prop, {
|
|
101
|
-
configurable : true,
|
|
102
|
-
enumerable : true,
|
|
103
|
-
/**
|
|
104
|
-
* @ignore
|
|
105
|
-
*/
|
|
106
|
-
get () {
|
|
107
|
-
return data[prop];
|
|
108
|
-
},
|
|
109
|
-
/**
|
|
110
|
-
* @ignore
|
|
111
|
-
*/
|
|
112
|
-
set (value) {
|
|
113
|
-
data[prop] = value;
|
|
114
|
-
if (hasLocalStorage === true) {
|
|
115
|
-
globalThis.localStorage.setItem("me.save." + prop, JSON.stringify(value));
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
})(key);
|
|
120
|
-
|
|
121
|
-
// Set default value for key
|
|
122
|
-
if (!(key in data)) {
|
|
123
|
-
obj[key] = props[key];
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
// Save keys
|
|
128
|
-
if (hasLocalStorage === true) {
|
|
129
|
-
globalThis.localStorage.setItem("me.save", JSON.stringify(Object.keys(data)));
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Remove a key from localStorage
|
|
135
|
-
* @name remove
|
|
136
|
-
* @memberof save
|
|
137
|
-
* @param {string} key - key to be removed
|
|
138
|
-
* @example
|
|
139
|
-
* // Remove the "score" key from localStorage
|
|
140
|
-
* me.save.remove("score");
|
|
141
|
-
*/
|
|
142
|
-
remove (key) {
|
|
143
|
-
if (!isReserved(key)) {
|
|
144
|
-
if (typeof data[key] !== "undefined") {
|
|
145
|
-
delete data[key];
|
|
146
|
-
if (hasLocalStorage === true) {
|
|
147
|
-
globalThis.localStorage.removeItem("me.save." + key);
|
|
148
|
-
globalThis.localStorage.setItem("me.save", JSON.stringify(Object.keys(data)));
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
var save$1 = save;
|
|
156
|
-
|
|
157
|
-
export { save$1 as default };
|
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v17.3.0
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import { defer } from '../utils/function.js';
|
|
9
|
-
import { once, on, GAME_BEFORE_UPDATE, BOOT, STATE_RESUME, STATE_RESTART, STATE_CHANGE } from './event.js';
|
|
10
|
-
import state from '../state/state.js';
|
|
11
|
-
import { clamp } from '../math/math.js';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* @classdesc
|
|
15
|
-
* a Timer class to manage timing related function (FPS, Game Tick, Time...)
|
|
16
|
-
* @see {@link timer} the default global timer instance
|
|
17
|
-
*/
|
|
18
|
-
class Timer {
|
|
19
|
-
|
|
20
|
-
constructor() {
|
|
21
|
-
/**
|
|
22
|
-
* Last game tick value. <br>
|
|
23
|
-
* Use this value to scale velocities during frame drops due to slow hardware or when setting an FPS limit.
|
|
24
|
-
* This feature is disabled by default (Enable interpolation to use it).
|
|
25
|
-
* @public
|
|
26
|
-
* @see interpolation
|
|
27
|
-
* @See maxfps
|
|
28
|
-
* @type {number}
|
|
29
|
-
* @name tick
|
|
30
|
-
*/
|
|
31
|
-
this.tick = 1.0;
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Last measured fps rate.<br>
|
|
35
|
-
* This feature is disabled by default, unless the debugPanel is enabled/visible.
|
|
36
|
-
* @public
|
|
37
|
-
* @type {number}
|
|
38
|
-
* @name fps
|
|
39
|
-
*/
|
|
40
|
-
this.fps = 0;
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Set the maximum target display frame per second
|
|
44
|
-
* @public
|
|
45
|
-
* @see tick
|
|
46
|
-
* @type {number}
|
|
47
|
-
* @default 60
|
|
48
|
-
*/
|
|
49
|
-
this.maxfps = 60;
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Enable/disable frame interpolation
|
|
53
|
-
* @see tick
|
|
54
|
-
* @type {boolean}
|
|
55
|
-
* @default false
|
|
56
|
-
*/
|
|
57
|
-
this.interpolation = false;
|
|
58
|
-
|
|
59
|
-
//hold element to display fps
|
|
60
|
-
this.framecount = 0;
|
|
61
|
-
this.framedelta = 0;
|
|
62
|
-
|
|
63
|
-
/* fps count stuff */
|
|
64
|
-
this.last = 0;
|
|
65
|
-
this.now = 0;
|
|
66
|
-
this.delta = 0;
|
|
67
|
-
// for timeout/interval update
|
|
68
|
-
this.step = 0;
|
|
69
|
-
this.minstep = 0;
|
|
70
|
-
|
|
71
|
-
// list of defined timer function
|
|
72
|
-
this.timers = [];
|
|
73
|
-
this.timerId = 0;
|
|
74
|
-
|
|
75
|
-
// Initialize timer on Boot event
|
|
76
|
-
once(BOOT, () => {
|
|
77
|
-
// reset variables to initial state
|
|
78
|
-
this.reset();
|
|
79
|
-
this.now = this.last = 0;
|
|
80
|
-
// register to the game before update event
|
|
81
|
-
on(GAME_BEFORE_UPDATE, (time) => this.update(time));
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
// reset timer
|
|
85
|
-
on(STATE_RESUME, () => {
|
|
86
|
-
this.reset();
|
|
87
|
-
});
|
|
88
|
-
on(STATE_RESTART, () => {
|
|
89
|
-
this.reset();
|
|
90
|
-
});
|
|
91
|
-
on(STATE_CHANGE, () => {
|
|
92
|
-
this.reset();
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* reset time (e.g. usefull in case of pause)
|
|
99
|
-
* @ignore
|
|
100
|
-
*/
|
|
101
|
-
reset() {
|
|
102
|
-
// set to "now"
|
|
103
|
-
this.last = this.now = globalThis.performance.now();
|
|
104
|
-
this.delta = 0;
|
|
105
|
-
// reset delta counting variables
|
|
106
|
-
this.framedelta = 0;
|
|
107
|
-
this.framecount = 0;
|
|
108
|
-
this.step = Math.ceil(1000 / this.maxfps); // ROUND IT ?
|
|
109
|
-
// define some step with some margin
|
|
110
|
-
this.minstep = (1000 / this.maxfps) * 1.25; // IS IT NECESSARY?\
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Calls a function once after a specified delay. See me.timer.setInterval to repeativly call a function.
|
|
115
|
-
* @param {Function} fn - the function you want to execute after delay milliseconds.
|
|
116
|
-
* @param {number} delay - the number of milliseconds (thousandths of a second) that the function call should be delayed by.
|
|
117
|
-
* @param {boolean} [pauseable=true] - respects the pause state of the engine.
|
|
118
|
-
* @param {...*} args - optional parameters which are passed through to the function specified by fn once the timer expires.
|
|
119
|
-
* @returns {number} a positive integer value which identifies the timer created by the call to setTimeout(), which can be used later with me.timer.clearTimeout().
|
|
120
|
-
* @example
|
|
121
|
-
* // set a timer to call "myFunction" after 1000ms
|
|
122
|
-
* me.timer.setTimeout(myFunction, 1000);
|
|
123
|
-
* // set a timer to call "myFunction" after 1000ms (respecting the pause state) and passing param1 and param2
|
|
124
|
-
* me.timer.setTimeout(myFunction, 1000, true, param1, param2);
|
|
125
|
-
*/
|
|
126
|
-
setTimeout(fn, delay, pauseable, ...args) {
|
|
127
|
-
this.timers.push({
|
|
128
|
-
fn : fn,
|
|
129
|
-
delay : delay,
|
|
130
|
-
elapsed : 0,
|
|
131
|
-
repeat : false,
|
|
132
|
-
timerId : ++this.timerId,
|
|
133
|
-
pauseable : pauseable === true || true,
|
|
134
|
-
args : args
|
|
135
|
-
});
|
|
136
|
-
return this.timerId;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* Calls a function continously at the specified interval. See setTimeout to call function a single time.
|
|
141
|
-
* @param {Function} fn - the function to execute
|
|
142
|
-
* @param {number} delay - the number of milliseconds (thousandths of a second) on how often to execute the function
|
|
143
|
-
* @param {boolean} [pauseable=true] - respects the pause state of the engine.
|
|
144
|
-
* @param {...*} args - optional parameters which are passed through to the function specified by fn once the timer expires.
|
|
145
|
-
* @returns {number} a numeric, non-zero value which identifies the timer created by the call to setInterval(), which can be used later with me.timer.clearInterval().
|
|
146
|
-
* @example
|
|
147
|
-
* // set a timer to call "myFunction" every 1000ms
|
|
148
|
-
* me.timer.setInterval(myFunction, 1000);
|
|
149
|
-
* // set a timer to call "myFunction" every 1000ms (respecting the pause state) and passing param1 and param2
|
|
150
|
-
* me.timer.setInterval(myFunction, 1000, true, param1, param2);
|
|
151
|
-
*/
|
|
152
|
-
setInterval(fn, delay, pauseable, ...args) {
|
|
153
|
-
this.timers.push({
|
|
154
|
-
fn : fn,
|
|
155
|
-
delay : delay,
|
|
156
|
-
elapsed : 0,
|
|
157
|
-
repeat : true,
|
|
158
|
-
timerId : ++this.timerId,
|
|
159
|
-
pauseable : pauseable === true || true,
|
|
160
|
-
args : args
|
|
161
|
-
});
|
|
162
|
-
return this.timerId;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* Cancels a timeout previously established by calling setTimeout().
|
|
167
|
-
* @param {number} timeoutID - ID of the timeout to be cancelled
|
|
168
|
-
*/
|
|
169
|
-
clearTimeout(timeoutID) {
|
|
170
|
-
if (timeoutID > 0) {
|
|
171
|
-
defer(this.clearTimer.bind(this), this, timeoutID);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* cancels the timed, repeating action which was previously established by a call to setInterval().
|
|
177
|
-
* @param {number} intervalID - ID of the interval to be cleared
|
|
178
|
-
*/
|
|
179
|
-
clearInterval(intervalID) {
|
|
180
|
-
if (intervalID > 0) {
|
|
181
|
-
defer(this.clearTimer.bind(this), this, intervalID);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* Return the current timestamp in milliseconds <br>
|
|
187
|
-
* since the game has started or since linux epoch (based on browser support for High Resolution Timer)
|
|
188
|
-
* @returns {number}
|
|
189
|
-
*/
|
|
190
|
-
getTime() {
|
|
191
|
-
return this.now;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* Return elapsed time in milliseconds since the last update
|
|
196
|
-
* @returns {number}
|
|
197
|
-
*/
|
|
198
|
-
getDelta() {
|
|
199
|
-
return this.delta;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* compute the actual frame time and fps rate
|
|
204
|
-
* @ignore
|
|
205
|
-
*/
|
|
206
|
-
countFPS() {
|
|
207
|
-
this.framecount++;
|
|
208
|
-
this.framedelta += this.delta;
|
|
209
|
-
if (this.framecount % 10 === 0) {
|
|
210
|
-
this.fps = clamp(Math.round((1000 * this.framecount) / this.framedelta), 0, this.maxfps);
|
|
211
|
-
this.framedelta = 0;
|
|
212
|
-
this.framecount = 0;
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* update
|
|
218
|
-
* @ignore
|
|
219
|
-
*/
|
|
220
|
-
update(time) {
|
|
221
|
-
this.last = this.now;
|
|
222
|
-
this.now = time;
|
|
223
|
-
this.delta = (this.now - this.last);
|
|
224
|
-
|
|
225
|
-
// fix for negative timestamp returned by wechat or chrome on startup
|
|
226
|
-
if (this.delta < 0) {
|
|
227
|
-
this.delta = 0;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
// get the game tick
|
|
231
|
-
this.tick = (this.delta > this.minstep && this.interpolation) ? this.delta / this.step : 1;
|
|
232
|
-
|
|
233
|
-
this.updateTimers();
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
/**
|
|
237
|
-
* clear Timers
|
|
238
|
-
* @ignore
|
|
239
|
-
*/
|
|
240
|
-
clearTimer(timerId) {
|
|
241
|
-
for (let i = 0, len = this.timers.length; i < len; i++) {
|
|
242
|
-
if (this.timers[i].timerId === timerId) {
|
|
243
|
-
this.timers.splice(i, 1);
|
|
244
|
-
break;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
/**
|
|
251
|
-
* update timers
|
|
252
|
-
* @ignore
|
|
253
|
-
*/
|
|
254
|
-
updateTimers() {
|
|
255
|
-
for (let i = 0, len = this.timers.length; i < len; i++) {
|
|
256
|
-
let _timer = this.timers[i];
|
|
257
|
-
if (!(_timer.pauseable && state.isPaused())) {
|
|
258
|
-
_timer.elapsed += this.delta;
|
|
259
|
-
}
|
|
260
|
-
if (_timer.elapsed >= _timer.delay) {
|
|
261
|
-
_timer.fn.apply(null, _timer.args);
|
|
262
|
-
if (_timer.repeat === true) {
|
|
263
|
-
_timer.elapsed -= _timer.delay;
|
|
264
|
-
} else {
|
|
265
|
-
this.clearTimeout(_timer.timerId);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
const timer = new Timer();
|
|
273
|
-
|
|
274
|
-
export { timer as default };
|