melonjs 15.12.0 → 15.14.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/README.md +1 -1
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
- package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
- package/dist/melonjs.mjs/_virtual/howler.js +1 -1
- package/dist/melonjs.mjs/_virtual/index.js +1 -1
- package/dist/melonjs.mjs/application/application.js +1 -1
- package/dist/melonjs.mjs/application/header.js +1 -1
- package/dist/melonjs.mjs/application/resize.js +1 -1
- package/dist/melonjs.mjs/application/settings.js +1 -1
- package/dist/melonjs.mjs/audio/audio.js +1 -1
- package/dist/melonjs.mjs/camera/camera2d.js +1 -1
- package/dist/melonjs.mjs/const.js +1 -1
- package/dist/melonjs.mjs/geometries/ellipse.js +1 -1
- package/dist/melonjs.mjs/geometries/line.js +1 -1
- package/dist/melonjs.mjs/geometries/path2d.js +1 -1
- package/dist/melonjs.mjs/geometries/point.js +1 -1
- package/dist/melonjs.mjs/geometries/poly.js +1 -1
- package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
- package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
- package/dist/melonjs.mjs/index.js +2 -2
- package/dist/melonjs.mjs/input/gamepad.js +1 -1
- package/dist/melonjs.mjs/input/input.js +1 -1
- package/dist/melonjs.mjs/input/keyboard.js +1 -1
- package/dist/melonjs.mjs/input/pointer.js +1 -1
- package/dist/melonjs.mjs/input/pointerevent.js +1 -1
- package/dist/melonjs.mjs/lang/console.js +1 -1
- package/dist/melonjs.mjs/lang/deprecated.js +1 -1
- package/dist/melonjs.mjs/level/level.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +1 -1
- package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
- package/dist/melonjs.mjs/loader/cache.js +1 -1
- package/dist/melonjs.mjs/loader/loader.js +55 -3
- package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/binary.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/fontface.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/image.js +6 -1
- package/dist/melonjs.mjs/loader/parsers/json.js +6 -1
- package/dist/melonjs.mjs/loader/parsers/script.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/tmx.js +6 -1
- package/dist/melonjs.mjs/loader/settings.js +1 -1
- package/dist/melonjs.mjs/math/color.js +1 -1
- package/dist/melonjs.mjs/math/math.js +1 -1
- package/dist/melonjs.mjs/math/matrix2.js +1 -1
- package/dist/melonjs.mjs/math/matrix3.js +1 -1
- package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
- package/dist/melonjs.mjs/math/observable_vector3.js +1 -1
- package/dist/melonjs.mjs/math/vector2.js +1 -1
- package/dist/melonjs.mjs/math/vector3.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
- package/dist/melonjs.mjs/particles/emitter.js +1 -1
- package/dist/melonjs.mjs/particles/particle.js +1 -1
- package/dist/melonjs.mjs/particles/settings.js +1 -1
- package/dist/melonjs.mjs/physics/body.js +1 -1
- package/dist/melonjs.mjs/physics/bounds.js +1 -1
- package/dist/melonjs.mjs/physics/collision.js +1 -1
- package/dist/melonjs.mjs/physics/detector.js +1 -1
- package/dist/melonjs.mjs/physics/quadtree.js +1 -1
- package/dist/melonjs.mjs/physics/response.js +1 -1
- package/dist/melonjs.mjs/physics/sat.js +1 -1
- package/dist/melonjs.mjs/physics/world.js +1 -1
- package/dist/melonjs.mjs/plugin/plugin.js +3 -3
- package/dist/melonjs.mjs/renderable/collectable.js +1 -1
- package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
- package/dist/melonjs.mjs/renderable/container.js +1 -1
- package/dist/melonjs.mjs/renderable/draggable.js +1 -1
- package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
- package/dist/melonjs.mjs/renderable/entity/entity.js +1 -1
- package/dist/melonjs.mjs/renderable/imagelayer.js +1 -1
- package/dist/melonjs.mjs/renderable/light2d.js +1 -1
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
- package/dist/melonjs.mjs/renderable/renderable.js +1 -1
- package/dist/melonjs.mjs/renderable/sprite.js +1 -1
- package/dist/melonjs.mjs/renderable/text/bitmaptext.js +3 -3
- package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +1 -1
- package/dist/melonjs.mjs/renderable/text/glyph.js +1 -1
- package/dist/melonjs.mjs/renderable/text/text.js +1 -1
- package/dist/melonjs.mjs/renderable/text/textmetrics.js +1 -1
- package/dist/melonjs.mjs/renderable/text/textstyle.js +1 -1
- package/dist/melonjs.mjs/renderable/trigger.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +12 -11
- package/dist/melonjs.mjs/state/stage.js +1 -1
- package/dist/melonjs.mjs/state/state.js +1 -1
- package/dist/melonjs.mjs/system/device.js +1 -1
- package/dist/melonjs.mjs/system/dom.js +1 -1
- package/dist/melonjs.mjs/system/event.js +14 -2
- package/dist/melonjs.mjs/system/platform.js +1 -1
- package/dist/melonjs.mjs/system/pooling.js +1 -1
- package/dist/melonjs.mjs/system/save.js +1 -1
- package/dist/melonjs.mjs/system/timer.js +1 -1
- package/dist/melonjs.mjs/tweens/easing.js +1 -1
- package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
- package/dist/melonjs.mjs/tweens/tween.js +1 -1
- package/dist/melonjs.mjs/utils/agent.js +1 -1
- package/dist/melonjs.mjs/utils/array.js +1 -1
- package/dist/melonjs.mjs/utils/file.js +1 -1
- package/dist/melonjs.mjs/utils/function.js +1 -1
- package/dist/melonjs.mjs/utils/string.js +1 -1
- package/dist/melonjs.mjs/utils/utils.js +1 -1
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +1 -1
- package/dist/melonjs.mjs/video/renderer.js +1 -1
- package/dist/melonjs.mjs/video/texture/atlas.js +1 -1
- package/dist/melonjs.mjs/video/texture/cache.js +1 -1
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +1 -1
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +1 -1
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +1 -1
- package/dist/melonjs.module.js +111 -28
- package/dist/types/loader/loader.d.ts +28 -0
- package/dist/types/renderable/ui/uitextbutton.d.ts +10 -3
- package/dist/types/system/event.d.ts +11 -0
- package/package.json +12 -12
- package/src/loader/loader.js +52 -0
- package/src/loader/parsers/image.js +5 -0
- package/src/loader/parsers/json.js +5 -0
- package/src/loader/parsers/tmx.js +5 -0
- package/src/renderable/text/bitmaptext.js +2 -2
- package/src/renderable/ui/uitextbutton.js +11 -10
- package/src/system/event.js +12 -0
package/dist/melonjs.module.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.14.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -205,7 +205,7 @@ var $TypeError$5 = TypeError;
|
|
|
205
205
|
// `RequireObjectCoercible` abstract operation
|
|
206
206
|
// https://tc39.es/ecma262/#sec-requireobjectcoercible
|
|
207
207
|
var requireObjectCoercible$3 = function (it) {
|
|
208
|
-
if (isNullOrUndefined$1(it)) throw $TypeError$5("Can't call method on " + it);
|
|
208
|
+
if (isNullOrUndefined$1(it)) throw new $TypeError$5("Can't call method on " + it);
|
|
209
209
|
return it;
|
|
210
210
|
};
|
|
211
211
|
|
|
@@ -393,7 +393,7 @@ var $TypeError$4 = TypeError;
|
|
|
393
393
|
// `Assert: IsCallable(argument) is true`
|
|
394
394
|
var aCallable$1 = function (argument) {
|
|
395
395
|
if (isCallable$7(argument)) return argument;
|
|
396
|
-
throw $TypeError$4(tryToString(argument) + ' is not a function');
|
|
396
|
+
throw new $TypeError$4(tryToString(argument) + ' is not a function');
|
|
397
397
|
};
|
|
398
398
|
|
|
399
399
|
var aCallable$2 = /*@__PURE__*/getDefaultExportFromCjs(aCallable$1);
|
|
@@ -425,7 +425,7 @@ var ordinaryToPrimitive$1 = function (input, pref) {
|
|
|
425
425
|
if (pref === 'string' && isCallable$6(fn = input.toString) && !isObject$4(val = call$2(fn, input))) return val;
|
|
426
426
|
if (isCallable$6(fn = input.valueOf) && !isObject$4(val = call$2(fn, input))) return val;
|
|
427
427
|
if (pref !== 'string' && isCallable$6(fn = input.toString) && !isObject$4(val = call$2(fn, input))) return val;
|
|
428
|
-
throw $TypeError$3("Can't convert object to primitive value");
|
|
428
|
+
throw new $TypeError$3("Can't convert object to primitive value");
|
|
429
429
|
};
|
|
430
430
|
|
|
431
431
|
var ordinaryToPrimitive$2 = /*@__PURE__*/getDefaultExportFromCjs(ordinaryToPrimitive$1);
|
|
@@ -473,10 +473,10 @@ var store$2 = sharedStore;
|
|
|
473
473
|
(shared$5.exports = function (key, value) {
|
|
474
474
|
return store$2[key] || (store$2[key] = value !== undefined ? value : {});
|
|
475
475
|
})('versions', []).push({
|
|
476
|
-
version: '3.
|
|
476
|
+
version: '3.33.0',
|
|
477
477
|
mode: IS_PURE ? 'pure' : 'global',
|
|
478
478
|
copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
|
|
479
|
-
license: 'https://github.com/zloirock/core-js/blob/v3.
|
|
479
|
+
license: 'https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE',
|
|
480
480
|
source: 'https://github.com/zloirock/core-js'
|
|
481
481
|
});
|
|
482
482
|
|
|
@@ -567,7 +567,7 @@ var toPrimitive$1 = function (input, pref) {
|
|
|
567
567
|
if (pref === undefined) pref = 'default';
|
|
568
568
|
result = call$1(exoticToPrim, input, pref);
|
|
569
569
|
if (!isObject$3(result) || isSymbol$1(result)) return result;
|
|
570
|
-
throw $TypeError$2("Can't convert object to primitive value");
|
|
570
|
+
throw new $TypeError$2("Can't convert object to primitive value");
|
|
571
571
|
}
|
|
572
572
|
if (pref === undefined) pref = 'number';
|
|
573
573
|
return ordinaryToPrimitive(input, pref);
|
|
@@ -668,7 +668,7 @@ var $TypeError$1 = TypeError;
|
|
|
668
668
|
// `Assert: Type(argument) is Object`
|
|
669
669
|
var anObject$2 = function (argument) {
|
|
670
670
|
if (isObject$1(argument)) return argument;
|
|
671
|
-
throw $TypeError$1($String$2(argument) + ' is not an object');
|
|
671
|
+
throw new $TypeError$1($String$2(argument) + ' is not an object');
|
|
672
672
|
};
|
|
673
673
|
|
|
674
674
|
var anObject$3 = /*@__PURE__*/getDefaultExportFromCjs(anObject$2);
|
|
@@ -713,7 +713,7 @@ var f$2 = objectDefineProperty.f = DESCRIPTORS$3 ? V8_PROTOTYPE_DEFINE_BUG ? fun
|
|
|
713
713
|
if (IE8_DOM_DEFINE) try {
|
|
714
714
|
return $defineProperty(O, P, Attributes);
|
|
715
715
|
} catch (error) { /* empty */ }
|
|
716
|
-
if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');
|
|
716
|
+
if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');
|
|
717
717
|
if ('value' in Attributes) O[P] = Attributes.value;
|
|
718
718
|
return O;
|
|
719
719
|
};
|
|
@@ -823,7 +823,7 @@ var getterFor = function (TYPE) {
|
|
|
823
823
|
return function (it) {
|
|
824
824
|
var state;
|
|
825
825
|
if (!isObject(it) || (state = get$1(it)).type !== TYPE) {
|
|
826
|
-
throw TypeError$1('Incompatible receiver, ' + TYPE + ' required');
|
|
826
|
+
throw new TypeError$1('Incompatible receiver, ' + TYPE + ' required');
|
|
827
827
|
} return state;
|
|
828
828
|
};
|
|
829
829
|
};
|
|
@@ -836,7 +836,7 @@ if (NATIVE_WEAK_MAP || shared.state) {
|
|
|
836
836
|
store.set = store.set;
|
|
837
837
|
/* eslint-enable no-self-assign -- prototype methods protection */
|
|
838
838
|
set = function (it, metadata) {
|
|
839
|
-
if (store.has(it)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED);
|
|
839
|
+
if (store.has(it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
|
|
840
840
|
metadata.facade = it;
|
|
841
841
|
store.set(it, metadata);
|
|
842
842
|
return metadata;
|
|
@@ -851,7 +851,7 @@ if (NATIVE_WEAK_MAP || shared.state) {
|
|
|
851
851
|
var STATE = sharedKey('state');
|
|
852
852
|
hiddenKeys$2[STATE] = true;
|
|
853
853
|
set = function (it, metadata) {
|
|
854
|
-
if (hasOwn$3(it, STATE)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED);
|
|
854
|
+
if (hasOwn$3(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
|
|
855
855
|
metadata.facade = it;
|
|
856
856
|
createNonEnumerableProperty$1(it, STATE, metadata);
|
|
857
857
|
return metadata;
|
|
@@ -1326,7 +1326,7 @@ var classof = classof$1;
|
|
|
1326
1326
|
var $String = String;
|
|
1327
1327
|
|
|
1328
1328
|
var toString$2 = function (argument) {
|
|
1329
|
-
if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
|
|
1329
|
+
if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
|
|
1330
1330
|
return $String(argument);
|
|
1331
1331
|
};
|
|
1332
1332
|
|
|
@@ -9407,6 +9407,18 @@ const LOADER_COMPLETE = "me.loader.onload";
|
|
|
9407
9407
|
*/
|
|
9408
9408
|
const LOADER_PROGRESS = "me.loader.onProgress";
|
|
9409
9409
|
|
|
9410
|
+
/**
|
|
9411
|
+
* Event for when an error occur during preloading <br>
|
|
9412
|
+
* Data passed : {Resource} resource object<br>
|
|
9413
|
+
* @public
|
|
9414
|
+
* @constant
|
|
9415
|
+
* @type {string}
|
|
9416
|
+
* @name LOADER_ERROR
|
|
9417
|
+
* @memberof event
|
|
9418
|
+
* @see event.on
|
|
9419
|
+
*/
|
|
9420
|
+
const LOADER_ERROR = "me.loader.onError";
|
|
9421
|
+
|
|
9410
9422
|
/**
|
|
9411
9423
|
* Event for pressing a binded key <br>
|
|
9412
9424
|
* Data passed : {string} user-defined action, {number} keyCode,
|
|
@@ -9735,6 +9747,7 @@ var event = {
|
|
|
9735
9747
|
KEYUP: KEYUP,
|
|
9736
9748
|
LEVEL_LOADED: LEVEL_LOADED,
|
|
9737
9749
|
LOADER_COMPLETE: LOADER_COMPLETE,
|
|
9750
|
+
LOADER_ERROR: LOADER_ERROR,
|
|
9738
9751
|
LOADER_PROGRESS: LOADER_PROGRESS,
|
|
9739
9752
|
ONCONTEXT_LOST: ONCONTEXT_LOST,
|
|
9740
9753
|
ONCONTEXT_RESTORED: ONCONTEXT_RESTORED,
|
|
@@ -19188,6 +19201,11 @@ let jsonList = {};
|
|
|
19188
19201
|
* ]);
|
|
19189
19202
|
*/
|
|
19190
19203
|
function preloadImage(img, onload, onerror) {
|
|
19204
|
+
if (typeof imgList[img.name] !== "undefined") {
|
|
19205
|
+
// already loaded
|
|
19206
|
+
return 0;
|
|
19207
|
+
}
|
|
19208
|
+
|
|
19191
19209
|
// create new Image object and add to list
|
|
19192
19210
|
imgList[img.name] = new Image();
|
|
19193
19211
|
if (typeof onload === "function") {
|
|
@@ -26527,6 +26545,11 @@ let level = {
|
|
|
26527
26545
|
* @ignore
|
|
26528
26546
|
*/
|
|
26529
26547
|
function preloadTMX(tmxData, onload, onerror) {
|
|
26548
|
+
if (typeof tmxList[tmxData.name] !== "undefined") {
|
|
26549
|
+
// already loaded
|
|
26550
|
+
return 0;
|
|
26551
|
+
}
|
|
26552
|
+
|
|
26530
26553
|
/**
|
|
26531
26554
|
* @ignore
|
|
26532
26555
|
*/
|
|
@@ -26642,6 +26665,11 @@ function preloadTMX(tmxData, onload, onerror) {
|
|
|
26642
26665
|
* @ignore
|
|
26643
26666
|
*/
|
|
26644
26667
|
function preloadJSON(data, onload, onerror) {
|
|
26668
|
+
if (typeof jsonList[data.name] !== "undefined") {
|
|
26669
|
+
// already loaded
|
|
26670
|
+
return 0;
|
|
26671
|
+
}
|
|
26672
|
+
|
|
26645
26673
|
let xmlhttp = new XMLHttpRequest();
|
|
26646
26674
|
|
|
26647
26675
|
if (xmlhttp.overrideMimeType) {
|
|
@@ -26810,6 +26838,18 @@ let onload;
|
|
|
26810
26838
|
*/
|
|
26811
26839
|
let onProgress;
|
|
26812
26840
|
|
|
26841
|
+
/**
|
|
26842
|
+
* onError callback<br>
|
|
26843
|
+
* each time a resource loading is failed, the loader will fire the specified function giving the actual asset as argument.
|
|
26844
|
+
* @default undefined
|
|
26845
|
+
* @memberof loader
|
|
26846
|
+
* @type {function}
|
|
26847
|
+
* @example
|
|
26848
|
+
* // set a callback for error notification
|
|
26849
|
+
* me.loader.onError = this.loaderError.bind(this);
|
|
26850
|
+
*/
|
|
26851
|
+
let onError;
|
|
26852
|
+
|
|
26813
26853
|
/**
|
|
26814
26854
|
* list of parser function for supported format type
|
|
26815
26855
|
*/
|
|
@@ -26825,6 +26865,10 @@ let resourceCount = 0;
|
|
|
26825
26865
|
let loadCount = 0;
|
|
26826
26866
|
let timerId = 0;
|
|
26827
26867
|
|
|
26868
|
+
/**
|
|
26869
|
+
* Assets uploaded with an error
|
|
26870
|
+
*/
|
|
26871
|
+
const failureLoadedAssets = {};
|
|
26828
26872
|
|
|
26829
26873
|
/**
|
|
26830
26874
|
* init all supported parsers
|
|
@@ -26876,6 +26920,7 @@ function checkLoadStatus(onloadcb) {
|
|
|
26876
26920
|
* @ignore
|
|
26877
26921
|
*/
|
|
26878
26922
|
function onResourceLoaded(res) {
|
|
26923
|
+
delete failureLoadedAssets[res.src];
|
|
26879
26924
|
// increment the loading counter
|
|
26880
26925
|
loadCount++;
|
|
26881
26926
|
|
|
@@ -26892,9 +26937,15 @@ function onResourceLoaded(res) {
|
|
|
26892
26937
|
|
|
26893
26938
|
/**
|
|
26894
26939
|
* on error callback for image loading
|
|
26940
|
+
* @param {loader.Asset} asset - asset that loaded with failure
|
|
26895
26941
|
* @ignore
|
|
26896
26942
|
*/
|
|
26897
26943
|
function onLoadingError(res) {
|
|
26944
|
+
failureLoadedAssets[res.src] = res;
|
|
26945
|
+
if (this.onError) {
|
|
26946
|
+
this.onError(res);
|
|
26947
|
+
}
|
|
26948
|
+
emit(LOADER_ERROR, res);
|
|
26898
26949
|
throw new Error("Failed loading resource " + res.src);
|
|
26899
26950
|
}
|
|
26900
26951
|
|
|
@@ -27032,6 +27083,35 @@ function preload(assets, onloadcb, switchToLoadState = true) {
|
|
|
27032
27083
|
checkLoadStatus(onload);
|
|
27033
27084
|
}
|
|
27034
27085
|
|
|
27086
|
+
/**
|
|
27087
|
+
* retry loading assets after a loading failure
|
|
27088
|
+
* @memberof loader
|
|
27089
|
+
* @param {string} src - src of asset to reload
|
|
27090
|
+
* @example
|
|
27091
|
+
* event.on(
|
|
27092
|
+
* event.LOADER_ERROR,
|
|
27093
|
+
* (res) => {
|
|
27094
|
+
* // custom function
|
|
27095
|
+
* showErrorNotification({
|
|
27096
|
+
* text: `Error during loading content: ${res.name}`,
|
|
27097
|
+
* done: loader.reload(res.src);
|
|
27098
|
+
* })
|
|
27099
|
+
* }
|
|
27100
|
+
* );
|
|
27101
|
+
**/
|
|
27102
|
+
function reload(src) {
|
|
27103
|
+
const assetToReload = failureLoadedAssets[src];
|
|
27104
|
+
this.unload(assetToReload);
|
|
27105
|
+
resourceCount -= 1;
|
|
27106
|
+
resourceCount += this.load(
|
|
27107
|
+
assetToReload,
|
|
27108
|
+
this.onResourceLoaded.bind(this, assetToReload),
|
|
27109
|
+
this.onLoadingError.bind(this, assetToReload)
|
|
27110
|
+
);
|
|
27111
|
+
// check load status
|
|
27112
|
+
checkLoadStatus(this.onload);
|
|
27113
|
+
}
|
|
27114
|
+
|
|
27035
27115
|
/**
|
|
27036
27116
|
* Load a single asset (to be used if you need to load additional asset(s) during the game)
|
|
27037
27117
|
* @memberof loader
|
|
@@ -27255,9 +27335,11 @@ var loader = {
|
|
|
27255
27335
|
getTMX: getTMX,
|
|
27256
27336
|
load: load,
|
|
27257
27337
|
get nocache () { return nocache; },
|
|
27338
|
+
onError: onError,
|
|
27258
27339
|
onProgress: onProgress,
|
|
27259
27340
|
get onload () { return onload; },
|
|
27260
27341
|
preload: preload,
|
|
27342
|
+
reload: reload,
|
|
27261
27343
|
setBaseURL: setBaseURL,
|
|
27262
27344
|
setNocache: setNocache,
|
|
27263
27345
|
setParser: setParser,
|
|
@@ -34432,7 +34514,7 @@ class BitmapText extends Renderable {
|
|
|
34432
34514
|
break;
|
|
34433
34515
|
|
|
34434
34516
|
default :
|
|
34435
|
-
ax = this.metrics.width * 0.0;
|
|
34517
|
+
ax = 0; //this.metrics.width * 0.0;
|
|
34436
34518
|
break;
|
|
34437
34519
|
}
|
|
34438
34520
|
|
|
@@ -34449,7 +34531,7 @@ class BitmapText extends Renderable {
|
|
|
34449
34531
|
break;
|
|
34450
34532
|
|
|
34451
34533
|
default :
|
|
34452
|
-
ay = this.metrics.height * 0.0;
|
|
34534
|
+
ay = 0; //this.metrics.height * 0.0;
|
|
34453
34535
|
break;
|
|
34454
34536
|
}
|
|
34455
34537
|
|
|
@@ -34660,8 +34742,8 @@ class UITextButton extends UIBaseElement {
|
|
|
34660
34742
|
* @param {number} [settings.size=1] - The scale factor of the BitmapText
|
|
34661
34743
|
* @param {string} [settings.text] - The text to display
|
|
34662
34744
|
* @param {string} [settings.bindKey] - The key to bind the action to (default: none)
|
|
34663
|
-
* @param {string} [settings.
|
|
34664
|
-
* @param {string} [settings.
|
|
34745
|
+
* @param {string} [settings.hoverOffColor="#00aa0080"] - The css value of a color to be used if the pointer is not hovering over the button
|
|
34746
|
+
* @param {string} [settings.hoverOnColor="#00ff00ff"] - The css value of a color to be used if the pointer hovers over the button
|
|
34665
34747
|
* @param {string} [settings.borderStrokeColor="#000000"] - The css value of a color to be used to draw the border
|
|
34666
34748
|
* @param {string} [settings.fillStyle] - The css value of a tint color to be used to tint the BitmapText
|
|
34667
34749
|
* @param {string} [settings.textAlign="center"] - horizontal text alignment
|
|
@@ -34678,6 +34760,8 @@ class UITextButton extends UIBaseElement {
|
|
|
34678
34760
|
* // if you omit the next two, size is calculated by the size of the text
|
|
34679
34761
|
* borderWidth: 200,
|
|
34680
34762
|
* borderHeight: 20,
|
|
34763
|
+
* backgroundColor: '#00aa0080',
|
|
34764
|
+
* hoverColor: '#00ff00ff'
|
|
34681
34765
|
* });
|
|
34682
34766
|
* }
|
|
34683
34767
|
*
|
|
@@ -34698,16 +34782,18 @@ class UITextButton extends UIBaseElement {
|
|
|
34698
34782
|
this.bindKey = settings.bindKey || -1;
|
|
34699
34783
|
|
|
34700
34784
|
/**
|
|
34701
|
-
* The css value of a
|
|
34785
|
+
* The css value of a color to be used if the pointer is nothovering over the button
|
|
34702
34786
|
* @type {string}
|
|
34703
34787
|
*/
|
|
34704
|
-
|
|
34788
|
+
// keep settings.backgroundColor for backward compatibility
|
|
34789
|
+
this.hoverOffColor = settings.hoverOffColor || settings.backgroundColor || "#00aa0080";
|
|
34705
34790
|
|
|
34706
34791
|
/**
|
|
34707
34792
|
* The css value of a color to be used if the pointer hovers over the button
|
|
34708
34793
|
* @type {string}
|
|
34709
34794
|
*/
|
|
34710
|
-
|
|
34795
|
+
// keep settings.hoverColor for backward compatibility
|
|
34796
|
+
this.hoverOnColor = settings.hoverOnColor || settings.hoverColor || "#00ff00ff";
|
|
34711
34797
|
|
|
34712
34798
|
/**
|
|
34713
34799
|
* The css value of a color to be used to draw the border
|
|
@@ -34762,16 +34848,13 @@ class UITextButton extends UIBaseElement {
|
|
|
34762
34848
|
|
|
34763
34849
|
draw(renderer) {
|
|
34764
34850
|
if (this.hover === true) {
|
|
34765
|
-
renderer.setColor(this.
|
|
34851
|
+
renderer.setColor(this.hoverOnColor);
|
|
34766
34852
|
} else {
|
|
34767
|
-
renderer.setColor(this.
|
|
34853
|
+
renderer.setColor(this.hoverOffColor);
|
|
34768
34854
|
}
|
|
34769
34855
|
renderer.fill(this.border);
|
|
34770
34856
|
renderer.setColor(this.borderStrokeColor);
|
|
34771
34857
|
renderer.stroke(this.border);
|
|
34772
|
-
this.bitmapText.preDraw(renderer);
|
|
34773
|
-
this.bitmapText.draw(renderer);
|
|
34774
|
-
this.bitmapText.postDraw(renderer);
|
|
34775
34858
|
super.draw(renderer);
|
|
34776
34859
|
}
|
|
34777
34860
|
}
|
|
@@ -38353,9 +38436,9 @@ class BasePlugin {
|
|
|
38353
38436
|
* define the minimum required version of melonJS<br>
|
|
38354
38437
|
* this can be overridden by the plugin
|
|
38355
38438
|
* @type {string}
|
|
38356
|
-
* @default "15.
|
|
38439
|
+
* @default "15.14.0"
|
|
38357
38440
|
*/
|
|
38358
|
-
this.version = "15.
|
|
38441
|
+
this.version = "15.14.0";
|
|
38359
38442
|
|
|
38360
38443
|
/**
|
|
38361
38444
|
* a reference to the app/game that registered this plugin
|
|
@@ -38637,7 +38720,7 @@ Renderer.prototype.getHeight = function() {
|
|
|
38637
38720
|
* @name version
|
|
38638
38721
|
* @type {string}
|
|
38639
38722
|
*/
|
|
38640
|
-
const version = "15.
|
|
38723
|
+
const version = "15.14.0";
|
|
38641
38724
|
|
|
38642
38725
|
/**
|
|
38643
38726
|
* a flag indicating that melonJS is fully initialized
|
|
@@ -98,6 +98,23 @@ export function setParser(type: string, parserFn: Function): void;
|
|
|
98
98
|
* me.loader.preload(game.assets, () => this.loaded());
|
|
99
99
|
*/
|
|
100
100
|
export function preload(assets: loader.Asset[], onloadcb?: Function | undefined, switchToLoadState?: boolean | undefined): void;
|
|
101
|
+
/**
|
|
102
|
+
* retry loading assets after a loading failure
|
|
103
|
+
* @memberof loader
|
|
104
|
+
* @param {string} src - src of asset to reload
|
|
105
|
+
* @example
|
|
106
|
+
* event.on(
|
|
107
|
+
* event.LOADER_ERROR,
|
|
108
|
+
* (res) => {
|
|
109
|
+
* // custom function
|
|
110
|
+
* showErrorNotification({
|
|
111
|
+
* text: `Error during loading content: ${res.name}`,
|
|
112
|
+
* done: loader.reload(res.src);
|
|
113
|
+
* })
|
|
114
|
+
* }
|
|
115
|
+
* );
|
|
116
|
+
**/
|
|
117
|
+
export function reload(src: string): void;
|
|
101
118
|
/**
|
|
102
119
|
* Load a single asset (to be used if you need to load additional asset(s) during the game)
|
|
103
120
|
* @memberof loader
|
|
@@ -185,6 +202,17 @@ export let onload: Function;
|
|
|
185
202
|
* me.loader.onProgress = this.updateProgress.bind(this);
|
|
186
203
|
*/
|
|
187
204
|
export let onProgress: Function;
|
|
205
|
+
/**
|
|
206
|
+
* onError callback<br>
|
|
207
|
+
* each time a resource loading is failed, the loader will fire the specified function giving the actual asset as argument.
|
|
208
|
+
* @default undefined
|
|
209
|
+
* @memberof loader
|
|
210
|
+
* @type {function}
|
|
211
|
+
* @example
|
|
212
|
+
* // set a callback for error notification
|
|
213
|
+
* me.loader.onError = this.loaderError.bind(this);
|
|
214
|
+
*/
|
|
215
|
+
export let onError: Function;
|
|
188
216
|
export namespace loader {
|
|
189
217
|
/**
|
|
190
218
|
* an asset definition to be used with the loader
|
|
@@ -15,8 +15,8 @@ export default class UITextButton extends UIBaseElement {
|
|
|
15
15
|
* @param {number} [settings.size=1] - The scale factor of the BitmapText
|
|
16
16
|
* @param {string} [settings.text] - The text to display
|
|
17
17
|
* @param {string} [settings.bindKey] - The key to bind the action to (default: none)
|
|
18
|
-
* @param {string} [settings.
|
|
19
|
-
* @param {string} [settings.
|
|
18
|
+
* @param {string} [settings.hoverOffColor="#00aa0080"] - The css value of a color to be used if the pointer is not hovering over the button
|
|
19
|
+
* @param {string} [settings.hoverOnColor="#00ff00ff"] - The css value of a color to be used if the pointer hovers over the button
|
|
20
20
|
* @param {string} [settings.borderStrokeColor="#000000"] - The css value of a color to be used to draw the border
|
|
21
21
|
* @param {string} [settings.fillStyle] - The css value of a tint color to be used to tint the BitmapText
|
|
22
22
|
* @param {string} [settings.textAlign="center"] - horizontal text alignment
|
|
@@ -33,6 +33,8 @@ export default class UITextButton extends UIBaseElement {
|
|
|
33
33
|
* // if you omit the next two, size is calculated by the size of the text
|
|
34
34
|
* borderWidth: 200,
|
|
35
35
|
* borderHeight: 20,
|
|
36
|
+
* backgroundColor: '#00aa0080',
|
|
37
|
+
* hoverColor: '#00ff00ff'
|
|
36
38
|
* });
|
|
37
39
|
* }
|
|
38
40
|
*
|
|
@@ -49,11 +51,16 @@ export default class UITextButton extends UIBaseElement {
|
|
|
49
51
|
* @type {string}
|
|
50
52
|
*/
|
|
51
53
|
bindKey: string;
|
|
54
|
+
/**
|
|
55
|
+
* The css value of a color to be used if the pointer is nothovering over the button
|
|
56
|
+
* @type {string}
|
|
57
|
+
*/
|
|
58
|
+
hoverOffColor: string;
|
|
52
59
|
/**
|
|
53
60
|
* The css value of a color to be used if the pointer hovers over the button
|
|
54
61
|
* @type {string}
|
|
55
62
|
*/
|
|
56
|
-
|
|
63
|
+
hoverOnColor: string;
|
|
57
64
|
/**
|
|
58
65
|
* The css value of a color to be used to draw the border
|
|
59
66
|
* @type {string}
|
|
@@ -290,6 +290,17 @@ export const LOADER_COMPLETE: string;
|
|
|
290
290
|
* @see event.on
|
|
291
291
|
*/
|
|
292
292
|
export const LOADER_PROGRESS: string;
|
|
293
|
+
/**
|
|
294
|
+
* Event for when an error occur during preloading <br>
|
|
295
|
+
* Data passed : {Resource} resource object<br>
|
|
296
|
+
* @public
|
|
297
|
+
* @constant
|
|
298
|
+
* @type {string}
|
|
299
|
+
* @name LOADER_ERROR
|
|
300
|
+
* @memberof event
|
|
301
|
+
* @see event.on
|
|
302
|
+
*/
|
|
303
|
+
export const LOADER_ERROR: string;
|
|
293
304
|
/**
|
|
294
305
|
* Event for pressing a binded key <br>
|
|
295
306
|
* Data passed : {string} user-defined action, {number} keyCode,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "melonjs",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.14.0",
|
|
4
4
|
"description": "melonJS Game Engine",
|
|
5
5
|
"homepage": "http://www.melonjs.org/",
|
|
6
6
|
"type": "module",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
],
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@teppeis/multimaps": "^3.0.0",
|
|
56
|
-
"core-js": "^3.
|
|
56
|
+
"core-js": "^3.33.0",
|
|
57
57
|
"earcut": "2.2.4",
|
|
58
58
|
"eventemitter3": "^5.0.1",
|
|
59
59
|
"howler": "2.2.4"
|
|
@@ -63,26 +63,26 @@
|
|
|
63
63
|
"@babel/plugin-syntax-import-assertions": "^7.22.5",
|
|
64
64
|
"@fastify/static": "^6.11.2",
|
|
65
65
|
"@melonjs/webdoc-theme": "^1.1.1",
|
|
66
|
-
"@rollup/plugin-commonjs": "^25.0.
|
|
67
|
-
"@rollup/plugin-image": "^3.0.
|
|
68
|
-
"@rollup/plugin-node-resolve": "^15.2.
|
|
69
|
-
"@rollup/plugin-replace": "^5.0.
|
|
66
|
+
"@rollup/plugin-commonjs": "^25.0.7",
|
|
67
|
+
"@rollup/plugin-image": "^3.0.3",
|
|
68
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
69
|
+
"@rollup/plugin-replace": "^5.0.4",
|
|
70
70
|
"@webdoc/cli": "^2.2.0",
|
|
71
|
-
"chromedriver": "^
|
|
71
|
+
"chromedriver": "^118.0.0",
|
|
72
72
|
"cross-env": "^7.0.3",
|
|
73
73
|
"del-cli": "^5.1.0",
|
|
74
|
-
"eslint": "^8.
|
|
74
|
+
"eslint": "^8.51.0",
|
|
75
75
|
"eslint-plugin-jsdoc": "^46.8.2",
|
|
76
76
|
"expect": "^29.7.0",
|
|
77
77
|
"expect-mocha-image-snapshot": "^3.0.15",
|
|
78
|
-
"fastify": "^4.
|
|
78
|
+
"fastify": "^4.24.2",
|
|
79
79
|
"mocha": "^10.2.0",
|
|
80
80
|
"npm-self-link": "^1.1.7",
|
|
81
|
-
"puppeteer": "^21.3.
|
|
82
|
-
"rollup": "^
|
|
81
|
+
"puppeteer": "^21.3.8",
|
|
82
|
+
"rollup": "^4.1.3",
|
|
83
83
|
"rollup-plugin-bundle-size": "^1.0.3",
|
|
84
84
|
"rollup-plugin-string": "^3.0.0",
|
|
85
|
-
"terser": "^5.
|
|
85
|
+
"terser": "^5.21.0",
|
|
86
86
|
"typescript": "^5.2.2"
|
|
87
87
|
},
|
|
88
88
|
"scripts": {
|