melonjs 17.4.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 +9 -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/{dist/types → build}/application/header.d.ts +1 -0
- package/build/application/header.d.ts.map +1 -0
- package/{dist/types → build}/application/resize.d.ts +1 -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 +35 -58
- package/build/audio/audio.d.ts.map +1 -0
- package/{dist/types → build}/camera/camera2d.d.ts +38 -76
- 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 +8 -7
- 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 -16
- 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 +2 -2
- 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 +19 -13
- 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 +7 -10
- 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 +27 -27
- 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 +5 -5
- package/build/physics/collision.d.ts.map +1 -0
- package/{dist/types → build}/physics/detector.d.ts +8 -6
- package/build/physics/detector.d.ts.map +1 -0
- package/{dist/types → build}/physics/quadtree.d.ts +5 -19
- 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 +3 -2
- package/build/physics/sat.d.ts.map +1 -0
- package/{dist/types → build}/physics/world.d.ts +5 -4
- package/build/physics/world.d.ts.map +1 -0
- package/{dist/types → build}/plugin/plugin.d.ts +8 -19
- 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/{dist/types → build}/renderable/colorlayer.d.ts +6 -10
- package/build/renderable/colorlayer.d.ts.map +1 -0
- package/{dist/types → build}/renderable/container.d.ts +14 -15
- 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 +7 -21
- package/build/renderable/dragndrop.d.ts.map +1 -0
- package/{dist/types → build}/renderable/entity/entity.d.ts +12 -13
- package/build/renderable/entity/entity.d.ts.map +1 -0
- package/{dist/types → build}/renderable/imagelayer.d.ts +17 -9
- 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 +3 -4
- package/build/renderable/nineslicesprite.d.ts.map +1 -0
- package/{dist/types → build}/renderable/renderable.d.ts +57 -60
- package/build/renderable/renderable.d.ts.map +1 -0
- package/{dist/types → build}/renderable/sprite.d.ts +28 -14
- package/build/renderable/sprite.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/bitmaptext.d.ts +6 -7
- 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 +18 -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 +40 -32
- package/build/video/canvas/canvas_renderer.d.ts.map +1 -0
- package/{dist/types → build}/video/renderer.d.ts +36 -29
- package/build/video/renderer.d.ts.map +1 -0
- package/{dist/types → build}/video/rendertarget/canvasrendertarget.d.ts +8 -26
- package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/atlas.d.ts +8 -8
- 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 +4 -4
- package/build/video/webgl/compositors/compositor.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/compositors/primitive_compositor.d.ts +4 -5
- package/build/video/webgl/compositors/primitive_compositor.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/compositors/quad_compositor.d.ts +4 -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 +37 -29
- package/build/video/webgl/webgl_renderer.d.ts.map +1 -0
- package/package.json +83 -104
- 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 -443
- package/dist/melonjs.mjs/application/header.js +0 -40
- package/dist/melonjs.mjs/application/resize.js +0 -128
- package/dist/melonjs.mjs/application/settings.js +0 -70
- package/dist/melonjs.mjs/audio/audio.js +0 -623
- package/dist/melonjs.mjs/camera/camera2d.js +0 -737
- package/dist/melonjs.mjs/const.js +0 -32
- package/dist/melonjs.mjs/geometries/ellipse.js +0 -253
- package/dist/melonjs.mjs/geometries/line.js +0 -113
- package/dist/melonjs.mjs/geometries/path2d.js +0 -479
- package/dist/melonjs.mjs/geometries/point.js +0 -85
- package/dist/melonjs.mjs/geometries/poly.js +0 -441
- package/dist/melonjs.mjs/geometries/rectangle.js +0 -335
- 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 -807
- 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 -729
- 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 -495
- package/dist/melonjs.mjs/math/matrix3.js +0 -628
- package/dist/melonjs.mjs/math/observable_vector2.js +0 -468
- package/dist/melonjs.mjs/math/observable_vector3.js +0 -564
- package/dist/melonjs.mjs/math/vector2.js +0 -431
- package/dist/melonjs.mjs/math/vector3.js +0 -473
- 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 -190
- package/dist/melonjs.mjs/particles/settings.js +0 -317
- package/dist/melonjs.mjs/physics/body.js +0 -717
- package/dist/melonjs.mjs/physics/bounds.js +0 -415
- package/dist/melonjs.mjs/physics/collision.js +0 -135
- package/dist/melonjs.mjs/physics/detector.js +0 -227
- package/dist/melonjs.mjs/physics/quadtree.js +0 -402
- package/dist/melonjs.mjs/physics/response.js +0 -57
- package/dist/melonjs.mjs/physics/sat.js +0 -492
- package/dist/melonjs.mjs/physics/world.js +0 -228
- package/dist/melonjs.mjs/plugin/plugin.js +0 -172
- package/dist/melonjs.mjs/renderable/collectable.js +0 -60
- package/dist/melonjs.mjs/renderable/colorlayer.js +0 -83
- package/dist/melonjs.mjs/renderable/container.js +0 -1016
- package/dist/melonjs.mjs/renderable/draggable.js +0 -121
- package/dist/melonjs.mjs/renderable/dragndrop.js +0 -119
- package/dist/melonjs.mjs/renderable/entity/entity.js +0 -263
- package/dist/melonjs.mjs/renderable/imagelayer.js +0 -293
- package/dist/melonjs.mjs/renderable/light2d.js +0 -172
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +0 -248
- package/dist/melonjs.mjs/renderable/renderable.js +0 -878
- package/dist/melonjs.mjs/renderable/sprite.js +0 -700
- 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 -163
- 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 -914
- package/dist/melonjs.mjs/video/renderer.js +0 -402
- package/dist/melonjs.mjs/video/rendertarget/canvasrendertarget.js +0 -316
- package/dist/melonjs.mjs/video/texture/atlas.js +0 -465
- 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 -240
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +0 -82
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +0 -259
- 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 -1246
- package/dist/melonjs.module.js +0 -43200
- package/dist/types/application/settings.d.ts +0 -106
- package/dist/types/const.d.ts +0 -21
- package/dist/types/geometries/ellipse.d.ts +0 -138
- package/dist/types/geometries/line.d.ts +0 -15
- package/dist/types/geometries/point.d.ts +0 -50
- package/dist/types/geometries/poly.d.ts +0 -186
- package/dist/types/geometries/rectangle.d.ts +0 -135
- 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 -174
- package/dist/types/math/matrix3.d.ts +0 -186
- package/dist/types/math/observable_vector2.d.ts +0 -278
- package/dist/types/math/observable_vector3.d.ts +0 -300
- package/dist/types/math/vector2.d.ts +0 -255
- package/dist/types/math/vector3.d.ts +0 -271
- package/dist/types/particles/particle.d.ts +0 -36
- package/dist/types/physics/bounds.d.ts +0 -203
- 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/light2d.d.ts +0 -60
- 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 -435
- package/src/application/header.js +0 -31
- package/src/application/resize.js +0 -119
- package/src/application/settings.js +0 -61
- package/src/audio/audio.js +0 -622
- package/src/camera/camera2d.js +0 -731
- package/src/const.js +0 -23
- package/src/geometries/ellipse.js +0 -244
- package/src/geometries/line.js +0 -104
- package/src/geometries/path2d.js +0 -470
- package/src/geometries/point.js +0 -76
- package/src/geometries/poly.js +0 -432
- package/src/geometries/rectangle.js +0 -326
- 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 -798
- 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 -728
- 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 -487
- package/src/math/matrix3.js +0 -620
- package/src/math/observable_vector2.js +0 -460
- package/src/math/observable_vector3.js +0 -556
- package/src/math/vector2.js +0 -423
- package/src/math/vector3.js +0 -465
- package/src/particles/emitter.js +0 -258
- package/src/particles/particle.js +0 -182
- package/src/particles/settings.js +0 -310
- package/src/physics/body.js +0 -709
- package/src/physics/bounds.js +0 -407
- package/src/physics/collision.js +0 -128
- package/src/physics/detector.js +0 -218
- package/src/physics/quadtree.js +0 -393
- package/src/physics/response.js +0 -48
- package/src/physics/sat.js +0 -483
- package/src/physics/world.js +0 -220
- package/src/plugin/plugin.js +0 -163
- 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 -74
- package/src/renderable/container.js +0 -1008
- package/src/renderable/draggable.js +0 -114
- package/src/renderable/dragndrop.js +0 -110
- package/src/renderable/entity/entity.js +0 -254
- package/src/renderable/imagelayer.js +0 -284
- package/src/renderable/light2d.js +0 -163
- package/src/renderable/nineslicesprite.js +0 -239
- package/src/renderable/renderable.js +0 -869
- package/src/renderable/sprite.js +0 -691
- 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 -154
- 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 -905
- package/src/video/renderer.js +0 -393
- package/src/video/rendertarget/canvasrendertarget.js +0 -309
- package/src/video/texture/atlas.js +0 -456
- 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 -231
- package/src/video/webgl/compositors/primitive_compositor.js +0 -73
- package/src/video/webgl/compositors/quad_compositor.js +0 -250
- 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 -1237
package/src/math/vector3.js
DELETED
|
@@ -1,465 +0,0 @@
|
|
|
1
|
-
import {clamp} from "./math.js";
|
|
2
|
-
import pool from "./../system/pooling.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* additional import for TypeScript
|
|
6
|
-
* @import Vector2d from "./vector2.js";
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @classdesc
|
|
11
|
-
* a generic 3D Vector Object
|
|
12
|
-
*/
|
|
13
|
-
export default class Vector3d {
|
|
14
|
-
/**
|
|
15
|
-
* @param {number} [x=0] - x value of the vector
|
|
16
|
-
* @param {number} [y=0] - y value of the vector
|
|
17
|
-
* @param {number} [z=0] - z value of the vector
|
|
18
|
-
*/
|
|
19
|
-
constructor(x = 0, y = 0, z = 0) {
|
|
20
|
-
this.onResetEvent(x, y, z);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* @param {number} [x=0]
|
|
25
|
-
* @param {number} [y=0]
|
|
26
|
-
* @param {number} [z=0]
|
|
27
|
-
* @ignore
|
|
28
|
-
*/
|
|
29
|
-
onResetEvent(x = 0, y = 0, z = 0) {
|
|
30
|
-
/**
|
|
31
|
-
* x value of the vector
|
|
32
|
-
* @type {number}
|
|
33
|
-
*/
|
|
34
|
-
this.x = x;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* y value of the vector
|
|
38
|
-
* @type {number}
|
|
39
|
-
*/
|
|
40
|
-
this.y = y;
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* z value of the vector
|
|
44
|
-
* @type {number}
|
|
45
|
-
*/
|
|
46
|
-
this.z = z;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* @param {number} x
|
|
51
|
-
* @param {number} y
|
|
52
|
-
* @param {number} [z=0]
|
|
53
|
-
* @ignore
|
|
54
|
-
*/
|
|
55
|
-
_set(x, y, z = 0) {
|
|
56
|
-
this.x = x;
|
|
57
|
-
this.y = y;
|
|
58
|
-
this.z = z;
|
|
59
|
-
return this;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* set the Vector x and y properties to the given values
|
|
64
|
-
* @param {number} x
|
|
65
|
-
* @param {number} y
|
|
66
|
-
* @param {number} [z=0]
|
|
67
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
68
|
-
*/
|
|
69
|
-
set(x, y, z) {
|
|
70
|
-
if (x !== +x || y !== +y || (typeof z !== "undefined" && z !== +z)) {
|
|
71
|
-
throw new Error(
|
|
72
|
-
"invalid x, y, z parameters (not a number)"
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
return this._set(x, y, z);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* set the Vector x and y properties to 0
|
|
80
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
81
|
-
*/
|
|
82
|
-
setZero() {
|
|
83
|
-
return this.set(0, 0, 0);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* set the Vector x and y properties using the passed vector
|
|
88
|
-
* @param {Vector2d|Vector3d} v
|
|
89
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
90
|
-
*/
|
|
91
|
-
setV(v) {
|
|
92
|
-
return this._set(v.x, v.y, v.z);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Add the passed vector to this vector
|
|
97
|
-
* @param {Vector2d|Vector3d} v
|
|
98
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
99
|
-
*/
|
|
100
|
-
add(v) {
|
|
101
|
-
return this._set(this.x + v.x, this.y + v.y, this.z + (v.z || 0));
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Substract the passed vector to this vector
|
|
106
|
-
* @param {Vector2d|Vector3d} v
|
|
107
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
108
|
-
*/
|
|
109
|
-
sub(v) {
|
|
110
|
-
return this._set(this.x - v.x, this.y - v.y, this.z - (v.z || 0));
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Multiply this vector values by the given scalar
|
|
115
|
-
* @param {number} x
|
|
116
|
-
* @param {number} [y=x]
|
|
117
|
-
* @param {number} [z=1]
|
|
118
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
119
|
-
*/
|
|
120
|
-
scale(x, y = x, z = 1) {
|
|
121
|
-
return this._set(this.x * x, this.y * y, this.z * z);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Multiply this vector values by the passed vector
|
|
126
|
-
* @param {Vector2d|Vector3d} v
|
|
127
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
128
|
-
*/
|
|
129
|
-
scaleV(v) {
|
|
130
|
-
return this.scale(v.x, v.y, v.z);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Convert this vector into isometric coordinate space
|
|
135
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
136
|
-
*/
|
|
137
|
-
toIso() {
|
|
138
|
-
return this._set(this.x - this.y, (this.x + this.y) * 0.5, this.z);
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Convert this vector into 2d coordinate space
|
|
143
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
144
|
-
*/
|
|
145
|
-
to2d() {
|
|
146
|
-
return this._set(this.y + this.x / 2, this.y - this.x / 2, this.z);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Divide this vector values by the passed value
|
|
151
|
-
* @param {number} n - the value to divide the vector by
|
|
152
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
153
|
-
*/
|
|
154
|
-
div(n) {
|
|
155
|
-
return this._set(this.x / n, this.y / n, this.z / n);
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* Update this vector values to absolute values
|
|
160
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
161
|
-
*/
|
|
162
|
-
abs() {
|
|
163
|
-
return this._set((this.x < 0) ? -this.x : this.x, (this.y < 0) ? -this.y : this.y, (this.z < 0) ? -this.z : this.z);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Clamp the vector value within the specified value range
|
|
168
|
-
* @param {number} low
|
|
169
|
-
* @param {number} high
|
|
170
|
-
* @returns {Vector3d} new me.Vector3d
|
|
171
|
-
*/
|
|
172
|
-
clamp(low, high) {
|
|
173
|
-
return new Vector3d(clamp(this.x, low, high), clamp(this.y, low, high), clamp(this.z, low, high));
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Clamp this vector value within the specified value range
|
|
178
|
-
* @param {number} low
|
|
179
|
-
* @param {number} high
|
|
180
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
181
|
-
*/
|
|
182
|
-
clampSelf(low, high) {
|
|
183
|
-
return this._set(clamp(this.x, low, high), clamp(this.y, low, high), clamp(this.z, low, high));
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Update this vector with the minimum value between this and the passed vector
|
|
188
|
-
* @param {Vector2d|Vector3d} v
|
|
189
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
190
|
-
*/
|
|
191
|
-
minV(v) {
|
|
192
|
-
let _vz = v.z || 0;
|
|
193
|
-
return this._set((this.x < v.x) ? this.x : v.x, (this.y < v.y) ? this.y : v.y, (this.z < _vz) ? this.z : _vz);
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* Update this vector with the maximum value between this and the passed vector
|
|
198
|
-
* @param {Vector2d|Vector3d} v
|
|
199
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
200
|
-
*/
|
|
201
|
-
maxV(v) {
|
|
202
|
-
let _vz = v.z || 0;
|
|
203
|
-
return this._set((this.x > v.x) ? this.x : v.x, (this.y > v.y) ? this.y : v.y, (this.z > _vz) ? this.z : _vz);
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* Floor the vector values
|
|
208
|
-
* @returns {Vector3d} new me.Vector3d
|
|
209
|
-
*/
|
|
210
|
-
floor() {
|
|
211
|
-
return new Vector3d(Math.floor(this.x), Math.floor(this.y), Math.floor(this.z));
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* Floor this vector values
|
|
216
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
217
|
-
*/
|
|
218
|
-
floorSelf() {
|
|
219
|
-
return this._set(Math.floor(this.x), Math.floor(this.y), Math.floor(this.z));
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
/**
|
|
223
|
-
* Ceil the vector values
|
|
224
|
-
* @returns {Vector3d} new me.Vector3d
|
|
225
|
-
*/
|
|
226
|
-
ceil() {
|
|
227
|
-
return new Vector3d(Math.ceil(this.x), Math.ceil(this.y), Math.ceil(this.z));
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Ceil this vector values
|
|
232
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
233
|
-
*/
|
|
234
|
-
ceilSelf() {
|
|
235
|
-
return this._set(Math.ceil(this.x), Math.ceil(this.y), Math.ceil(this.z));
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* Negate the vector values
|
|
240
|
-
* @returns {Vector3d} new me.Vector3d
|
|
241
|
-
*/
|
|
242
|
-
negate() {
|
|
243
|
-
return new Vector3d(-this.x, -this.y, -this.z);
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
/**
|
|
247
|
-
* Negate this vector values
|
|
248
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
249
|
-
*/
|
|
250
|
-
negateSelf() {
|
|
251
|
-
return this._set(-this.x, -this.y, -this.z);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
/**
|
|
255
|
-
* Copy the components of the given vector into this one
|
|
256
|
-
* @param {Vector2d|Vector3d} v
|
|
257
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
258
|
-
*/
|
|
259
|
-
copy(v) {
|
|
260
|
-
return this._set(v.x, v.y, v.z || 0);
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
* return true if this vector is equal to the given values or vector
|
|
265
|
-
* @param {number|Vector2d|Vector3d} x
|
|
266
|
-
* @param {number} [y]
|
|
267
|
-
* @param {number} [z]
|
|
268
|
-
* @returns {boolean} true if both vectros are equals
|
|
269
|
-
*/
|
|
270
|
-
equals(...args) {
|
|
271
|
-
let _x, _y, _z;
|
|
272
|
-
if (args.length >= 2) {
|
|
273
|
-
// x, y, z
|
|
274
|
-
[_x, _y, _z] = args;
|
|
275
|
-
} else {
|
|
276
|
-
// vector
|
|
277
|
-
[_x, _y, _z] = [args[0].x, args[0].y, args[0].z];
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
if (typeof _z === "undefined") {
|
|
281
|
-
_z = this.z;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
return ((this.x === _x) && (this.y === _y) && (this.z === _z));
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
/**
|
|
288
|
-
* normalize this vector (scale the vector so that its magnitude is 1)
|
|
289
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
290
|
-
*/
|
|
291
|
-
normalize() {
|
|
292
|
-
return this.div(this.length() || 1);
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
/**
|
|
296
|
-
* change this vector to be perpendicular to what it was before.<br>
|
|
297
|
-
* (Effectively rotates it 90 degrees in a clockwise direction around the z axis)
|
|
298
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
299
|
-
*/
|
|
300
|
-
perp() {
|
|
301
|
-
return this._set(this.y, -this.x, this.z);
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
/**
|
|
305
|
-
* Rotate this vector (counter-clockwise) by the specified angle (in radians) around the z axis
|
|
306
|
-
* @param {number} angle - The angle to rotate (in radians)
|
|
307
|
-
* @param {Vector2d} [v] - an optional point to rotate around (on the same z axis)
|
|
308
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
309
|
-
*/
|
|
310
|
-
rotate(angle, v) {
|
|
311
|
-
let cx = 0;
|
|
312
|
-
let cy = 0;
|
|
313
|
-
|
|
314
|
-
if (typeof v === "object") {
|
|
315
|
-
cx = v.x;
|
|
316
|
-
cy = v.y;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
// TODO also rotate on the z axis if the given vector is a 3d one
|
|
320
|
-
let x = this.x - cx;
|
|
321
|
-
let y = this.y - cy;
|
|
322
|
-
|
|
323
|
-
let c = Math.cos(angle);
|
|
324
|
-
let s = Math.sin(angle);
|
|
325
|
-
|
|
326
|
-
return this._set(x * c - y * s + cx, x * s + y * c + cy, this.z);
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
/**
|
|
330
|
-
* return the dot product of this vector and the passed one
|
|
331
|
-
* @param {Vector2d|Vector3d} v
|
|
332
|
-
* @returns {number} The dot product.
|
|
333
|
-
*/
|
|
334
|
-
dot(v) {
|
|
335
|
-
return this.x * v.x + this.y * v.y + this.z * (typeof(v.z) !== "undefined" ? v.z : this.z);
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
/**
|
|
339
|
-
* calculate the cross product of this vector and the passed one
|
|
340
|
-
* @param {Vector3d} v
|
|
341
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
342
|
-
*/
|
|
343
|
-
cross(v) {
|
|
344
|
-
let ax = this.x, ay = this.y, az = this.z;
|
|
345
|
-
let bx = v.x, by = v.y, bz = v.z;
|
|
346
|
-
|
|
347
|
-
this.x = ay * bz - az * by;
|
|
348
|
-
this.y = az * bx - ax * bz;
|
|
349
|
-
this.z = ax * by - ay * bx;
|
|
350
|
-
|
|
351
|
-
return this;
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
/**
|
|
355
|
-
* return the square length of this vector
|
|
356
|
-
* @returns {number} The length^2 of this vector.
|
|
357
|
-
*/
|
|
358
|
-
length2() {
|
|
359
|
-
return this.dot(this);
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
/**
|
|
363
|
-
* return the length (magnitude) of this vector
|
|
364
|
-
* @returns {number} the length of this vector
|
|
365
|
-
*/
|
|
366
|
-
length() {
|
|
367
|
-
return Math.sqrt(this.length2());
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
/**
|
|
371
|
-
* Linearly interpolate between this vector and the given one.
|
|
372
|
-
* @param {Vector3d} v
|
|
373
|
-
* @param {number} alpha - distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).
|
|
374
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
375
|
-
*/
|
|
376
|
-
lerp(v, alpha) {
|
|
377
|
-
this.x += (v.x - this.x) * alpha;
|
|
378
|
-
this.y += (v.y - this.y) * alpha;
|
|
379
|
-
this.z += (v.z - this.z) * alpha;
|
|
380
|
-
return this;
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
/**
|
|
384
|
-
* interpolate the position of this vector on the x and y axis towards the given one by the given maximum step.
|
|
385
|
-
* @param {Vector2d|Vector3d} target
|
|
386
|
-
* @param {number} step - the maximum step per iteration (Negative values will push the vector away from the target)
|
|
387
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
388
|
-
*/
|
|
389
|
-
moveTowards(target, step) {
|
|
390
|
-
let angle = Math.atan2(target.y - this.y, target.x - this.x);
|
|
391
|
-
|
|
392
|
-
let dx = this.x - target.x;
|
|
393
|
-
let dy = this.y - target.y;
|
|
394
|
-
|
|
395
|
-
let distance = Math.sqrt(dx * dx + dy * dy);
|
|
396
|
-
|
|
397
|
-
if (distance === 0 || (step >= 0 && distance <= step * step)) {
|
|
398
|
-
return target;
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
this.x += Math.cos(angle) * step;
|
|
402
|
-
this.y += Math.sin(angle) * step;
|
|
403
|
-
|
|
404
|
-
return this;
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
/**
|
|
408
|
-
* return the distance between this vector and the passed one
|
|
409
|
-
* @param {Vector2d|Vector3d} v
|
|
410
|
-
* @returns {number}
|
|
411
|
-
*/
|
|
412
|
-
distance(v) {
|
|
413
|
-
let dx = this.x - v.x;
|
|
414
|
-
let dy = this.y - v.y;
|
|
415
|
-
let dz = this.z - (v.z || 0);
|
|
416
|
-
return Math.sqrt(dx * dx + dy * dy + dz * dz);
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
/**
|
|
420
|
-
* return the angle between this vector and the passed one
|
|
421
|
-
* @param {Vector2d|Vector3d} v
|
|
422
|
-
* @returns {number} angle in radians
|
|
423
|
-
*/
|
|
424
|
-
angle(v) {
|
|
425
|
-
return Math.acos(clamp(this.dot(v) / (this.length() * v.length()), -1, 1));
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
/**
|
|
429
|
-
* project this vector on to another vector.
|
|
430
|
-
* @param {Vector2d|Vector3d} v - The vector to project onto.
|
|
431
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
432
|
-
*/
|
|
433
|
-
project(v) {
|
|
434
|
-
let ratio = this.dot(v) / v.length2();
|
|
435
|
-
return this.scale(ratio, ratio, ratio);
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
/**
|
|
439
|
-
* Project this vector onto a vector of unit length.<br>
|
|
440
|
-
* This is slightly more efficient than `project` when dealing with unit vectors.
|
|
441
|
-
* @param {Vector2d|Vector3d} v - The unit vector to project onto.
|
|
442
|
-
* @returns {Vector3d} Reference to this object for method chaining
|
|
443
|
-
*/
|
|
444
|
-
projectN(v) {
|
|
445
|
-
let ratio = this.dot(v) / v.length2();
|
|
446
|
-
return this.scale(ratio, ratio, ratio);
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
/**
|
|
450
|
-
* return a clone copy of this vector
|
|
451
|
-
* @returns {Vector3d} new me.Vector3d
|
|
452
|
-
*/
|
|
453
|
-
clone() {
|
|
454
|
-
return pool.pull("Vector3d", this.x, this.y, this.z);
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
/**
|
|
458
|
-
* convert the object to a string representation
|
|
459
|
-
* @returns {string}
|
|
460
|
-
*/
|
|
461
|
-
toString() {
|
|
462
|
-
return "x:" + this.x + ",y:" + this.y + ",z:" + this.z;
|
|
463
|
-
}
|
|
464
|
-
}
|
|
465
|
-
|
package/src/particles/emitter.js
DELETED
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
import pool from "./../system/pooling.js";
|
|
2
|
-
import ParticleEmitterSettings from "./settings.js";
|
|
3
|
-
import { randomFloat } from "./../math/math.js";
|
|
4
|
-
import Container from "./../renderable/container.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @ignore
|
|
9
|
-
*/
|
|
10
|
-
function createDefaultParticleTexture(w = 8, h = 8) {
|
|
11
|
-
let defaultParticleTexture = pool.pull("CanvasRenderTarget", w, h, { offscreenCanvas: true });
|
|
12
|
-
|
|
13
|
-
defaultParticleTexture.context.fillStyle = "#fff";
|
|
14
|
-
defaultParticleTexture.context.fillRect(0, 0, w, h);
|
|
15
|
-
|
|
16
|
-
return defaultParticleTexture;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* @classdesc
|
|
21
|
-
* Particle Emitter Object.
|
|
22
|
-
* @augments Container
|
|
23
|
-
*/
|
|
24
|
-
export default class ParticleEmitter extends Container {
|
|
25
|
-
/**
|
|
26
|
-
* @param {number} x - x position of the particle emitter
|
|
27
|
-
* @param {number} y - y position of the particle emitter
|
|
28
|
-
* @param {ParticleEmitterSettings} [settings=ParticleEmitterSettings] - the settings for the particle emitter.
|
|
29
|
-
* @example
|
|
30
|
-
* // Create a particle emitter at position 100, 100
|
|
31
|
-
* let emitter = new ParticleEmitter(100, 100, {
|
|
32
|
-
* width: 16,
|
|
33
|
-
* height : 16,
|
|
34
|
-
* tint: "#f00",
|
|
35
|
-
* totalParticles: 32,
|
|
36
|
-
* angle: 0,
|
|
37
|
-
* angleVariation: 6.283185307179586,
|
|
38
|
-
* maxLife: 5,
|
|
39
|
-
* speed: 3
|
|
40
|
-
* });
|
|
41
|
-
*
|
|
42
|
-
* // Add the emitter to the game world
|
|
43
|
-
* me.game.world.addChild(emitter);
|
|
44
|
-
*
|
|
45
|
-
* // Launch all particles one time and stop, like a explosion
|
|
46
|
-
* emitter.burstParticles();
|
|
47
|
-
*
|
|
48
|
-
* // Launch constantly the particles, like a fountain
|
|
49
|
-
* emitter.streamParticles();
|
|
50
|
-
*
|
|
51
|
-
* // At the end, remove emitter from the game world
|
|
52
|
-
* // call this in onDestroyEvent function
|
|
53
|
-
* me.game.world.removeChild(emitter);
|
|
54
|
-
*/
|
|
55
|
-
constructor(x, y, settings = {}) {
|
|
56
|
-
// call the super constructor
|
|
57
|
-
super(
|
|
58
|
-
x, y,
|
|
59
|
-
settings.width | 1,
|
|
60
|
-
settings.height | 1
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* the current (active) emitter settings
|
|
65
|
-
* @public
|
|
66
|
-
* @type {ParticleEmitterSettings}
|
|
67
|
-
* @name settings
|
|
68
|
-
* @memberof ParticleEmitter
|
|
69
|
-
*/
|
|
70
|
-
this.settings = {};
|
|
71
|
-
|
|
72
|
-
// center the emitter around the given coordinates
|
|
73
|
-
this.centerOn(x, y);
|
|
74
|
-
|
|
75
|
-
// Emitter is Stream, launch particles constantly
|
|
76
|
-
/** @ignore */
|
|
77
|
-
this._stream = false;
|
|
78
|
-
|
|
79
|
-
// Frequency timer (in ms) for emitter launch new particles
|
|
80
|
-
// used only in stream emitter
|
|
81
|
-
/** @ignore */
|
|
82
|
-
this._frequencyTimer = 0;
|
|
83
|
-
|
|
84
|
-
// Time of live (in ms) for emitter launch new particles
|
|
85
|
-
// used only in stream emitter
|
|
86
|
-
/** @ignore */
|
|
87
|
-
this._durationTimer = 0;
|
|
88
|
-
|
|
89
|
-
// Emitter is emitting particles
|
|
90
|
-
/** @ignore */
|
|
91
|
-
this._enabled = false;
|
|
92
|
-
|
|
93
|
-
// Emitter will always update
|
|
94
|
-
this.alwaysUpdate = true;
|
|
95
|
-
|
|
96
|
-
// don't sort the particles by z-index
|
|
97
|
-
this.autoSort = false;
|
|
98
|
-
|
|
99
|
-
// count the updates
|
|
100
|
-
this._updateCount = 0;
|
|
101
|
-
|
|
102
|
-
// internally store how much time was skipped when frames are skipped
|
|
103
|
-
this._dt = 0;
|
|
104
|
-
|
|
105
|
-
//this.anchorPoint.set(0, 0);
|
|
106
|
-
|
|
107
|
-
// Reset the emitter to defaults
|
|
108
|
-
this.reset(settings);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Reset the emitter with particle emitter settings.
|
|
113
|
-
* @param {ParticleEmitterSettings} settings - [optional] object with emitter settings. See {@link ParticleEmitterSettings}
|
|
114
|
-
*/
|
|
115
|
-
reset(settings = {}) {
|
|
116
|
-
Object.assign(this.settings, ParticleEmitterSettings, settings);
|
|
117
|
-
|
|
118
|
-
if (typeof this.settings.image === "undefined") {
|
|
119
|
-
this._defaultParticle = createDefaultParticleTexture(settings.textureSize, settings.textureSize);
|
|
120
|
-
this.settings.image = this._defaultParticle.canvas;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
this.floating = this.settings.floating;
|
|
124
|
-
|
|
125
|
-
this.isDirty = true;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* returns a random point on the x axis within the bounds of this emitter
|
|
130
|
-
* @returns {number}
|
|
131
|
-
*/
|
|
132
|
-
getRandomPointX() {
|
|
133
|
-
return randomFloat(0, this.getBounds().width);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* returns a random point on the y axis within the bounds this emitter
|
|
138
|
-
* @returns {number}
|
|
139
|
-
*/
|
|
140
|
-
getRandomPointY() {
|
|
141
|
-
return randomFloat(0, this.getBounds().height);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
// Add count particles in the game world
|
|
145
|
-
/** @ignore */
|
|
146
|
-
addParticles(count) {
|
|
147
|
-
for (let i = 0; i < count; i++) {
|
|
148
|
-
// Add particle to the container
|
|
149
|
-
this.addChild(pool.pull("Particle", this), this.pos.z);
|
|
150
|
-
}
|
|
151
|
-
this.isDirty = true;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Emitter is of type stream and is launching particles
|
|
156
|
-
* @returns {boolean} Emitter is Stream and is launching particles
|
|
157
|
-
*/
|
|
158
|
-
isRunning() {
|
|
159
|
-
return this._enabled && this._stream;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Launch particles from emitter constantly (e.g. for stream)
|
|
164
|
-
* @param {number} [duration] - time that the emitter releases particles in ms
|
|
165
|
-
*/
|
|
166
|
-
streamParticles(duration) {
|
|
167
|
-
this._enabled = true;
|
|
168
|
-
this._stream = true;
|
|
169
|
-
this.settings.frequency = Math.max(1, this.settings.frequency);
|
|
170
|
-
this._durationTimer = (typeof duration === "number") ? duration : this.settings.duration;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Stop the emitter from generating new particles (used only if emitter is Stream)
|
|
175
|
-
*/
|
|
176
|
-
stopStream() {
|
|
177
|
-
this._enabled = false;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Launch all particles from emitter and stop (e.g. for explosion)
|
|
182
|
-
* @param {number} [total] - number of particles to launch
|
|
183
|
-
*/
|
|
184
|
-
burstParticles(total) {
|
|
185
|
-
this._enabled = true;
|
|
186
|
-
this._stream = false;
|
|
187
|
-
this.addParticles((typeof total === "number") ? total : this.settings.totalParticles);
|
|
188
|
-
this._enabled = false;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
* @ignore
|
|
193
|
-
*/
|
|
194
|
-
update(dt) {
|
|
195
|
-
// skip frames if necessary
|
|
196
|
-
if (++this._updateCount > this.settings.framesToSkip) {
|
|
197
|
-
this._updateCount = 0;
|
|
198
|
-
}
|
|
199
|
-
if (this._updateCount > 0) {
|
|
200
|
-
this._dt += dt;
|
|
201
|
-
return this.isDirty;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
// apply skipped delta time
|
|
205
|
-
dt += this._dt;
|
|
206
|
-
this._dt = 0;
|
|
207
|
-
|
|
208
|
-
// Update particles
|
|
209
|
-
this.isDirty |= super.update(dt);
|
|
210
|
-
|
|
211
|
-
// Launch new particles, if emitter is Stream
|
|
212
|
-
if ((this._enabled) && (this._stream)) {
|
|
213
|
-
// Check if the emitter has duration set
|
|
214
|
-
if (this._durationTimer !== Infinity) {
|
|
215
|
-
this._durationTimer -= dt;
|
|
216
|
-
|
|
217
|
-
if (this._durationTimer <= 0) {
|
|
218
|
-
this.stopStream();
|
|
219
|
-
return this.isDirty;
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
// Increase the emitter launcher timer
|
|
224
|
-
this._frequencyTimer += dt;
|
|
225
|
-
|
|
226
|
-
// Check for new particles launch
|
|
227
|
-
const particlesCount = this.children.length;
|
|
228
|
-
if ((particlesCount < this.settings.totalParticles) && (this._frequencyTimer >= this.settings.frequency)) {
|
|
229
|
-
if ((particlesCount + this.settings.maxParticles) <= this.settings.totalParticles) {
|
|
230
|
-
this.addParticles(this.settings.maxParticles);
|
|
231
|
-
}
|
|
232
|
-
else {
|
|
233
|
-
this.addParticles(this.settings.totalParticles - particlesCount);
|
|
234
|
-
}
|
|
235
|
-
this._frequencyTimer = 0;
|
|
236
|
-
this.isDirty = true;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
return this.isDirty;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
/**
|
|
243
|
-
* Destroy function
|
|
244
|
-
* @ignore
|
|
245
|
-
*/
|
|
246
|
-
destroy() {
|
|
247
|
-
// call the parent destroy method
|
|
248
|
-
super.destroy(arguments);
|
|
249
|
-
// clean emitter specific Properties
|
|
250
|
-
if (typeof this._defaultParticle !== "undefined") {
|
|
251
|
-
pool.push(this._defaultParticle);
|
|
252
|
-
this._defaultParticle = undefined;
|
|
253
|
-
}
|
|
254
|
-
this.settings.image = undefined;
|
|
255
|
-
this.settings = undefined;
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
|