dino-ge 1.8.4 → 1.8.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Loader.d.ts +20 -4
- package/dist/Loader.js +43 -6
- package/dist/Loader.js.map +1 -1
- package/dist/Sprite.d.ts +13 -0
- package/dist/Sprite.js +39 -1
- package/dist/Sprite.js.map +1 -1
- package/dist/SpriteComponent.js +3 -3
- package/dist/SpriteComponent.js.map +1 -1
- package/package.json +1 -1
package/dist/Loader.d.ts
CHANGED
|
@@ -2,10 +2,14 @@
|
|
|
2
2
|
* Handles asynchronous loading of assets like images.
|
|
3
3
|
*/
|
|
4
4
|
export default class ResourceLoader {
|
|
5
|
-
|
|
6
|
-
private static
|
|
7
|
-
private static
|
|
8
|
-
private static
|
|
5
|
+
/** Internal helper to access the global shared state. */
|
|
6
|
+
private static get _state();
|
|
7
|
+
private static get assets();
|
|
8
|
+
private static get loadingQueue();
|
|
9
|
+
private static get totalToLoad();
|
|
10
|
+
private static set totalToLoad(value);
|
|
11
|
+
private static get loadedCount();
|
|
12
|
+
private static set loadedCount(value);
|
|
9
13
|
/**
|
|
10
14
|
* Queue an image for loading.
|
|
11
15
|
* @param tag Unique tag to reference the image later.
|
|
@@ -23,4 +27,16 @@ export default class ResourceLoader {
|
|
|
23
27
|
* @returns The loaded HTMLImageElement.
|
|
24
28
|
*/
|
|
25
29
|
static getImage(tag: string): HTMLImageElement;
|
|
30
|
+
/**
|
|
31
|
+
* Returns all loaded assets.
|
|
32
|
+
* @returns An array of { tag, image } objects.
|
|
33
|
+
*/
|
|
34
|
+
static getLoadedAssets(): {
|
|
35
|
+
tag: string;
|
|
36
|
+
image: HTMLImageElement;
|
|
37
|
+
}[];
|
|
38
|
+
/**
|
|
39
|
+
* Clears all loaded assets and the loading queue.
|
|
40
|
+
*/
|
|
41
|
+
static clear(): void;
|
|
26
42
|
}
|
package/dist/Loader.js
CHANGED
|
@@ -7,10 +7,33 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* Initial state for the loader.
|
|
12
|
+
*/
|
|
13
|
+
const INITIAL_STATE = {
|
|
14
|
+
assets: new Map(),
|
|
15
|
+
loadingQueue: new Set(),
|
|
16
|
+
totalToLoad: 0,
|
|
17
|
+
loadedCount: 0
|
|
18
|
+
};
|
|
10
19
|
/**
|
|
11
20
|
* Handles asynchronous loading of assets like images.
|
|
12
21
|
*/
|
|
13
|
-
class ResourceLoader {
|
|
22
|
+
export default class ResourceLoader {
|
|
23
|
+
/** Internal helper to access the global shared state. */
|
|
24
|
+
static get _state() {
|
|
25
|
+
const global = globalThis;
|
|
26
|
+
if (!global.__DINO_LOADER_STATE__) {
|
|
27
|
+
global.__DINO_LOADER_STATE__ = INITIAL_STATE;
|
|
28
|
+
}
|
|
29
|
+
return global.__DINO_LOADER_STATE__;
|
|
30
|
+
}
|
|
31
|
+
static get assets() { return this._state.assets; }
|
|
32
|
+
static get loadingQueue() { return this._state.loadingQueue; }
|
|
33
|
+
static get totalToLoad() { return this._state.totalToLoad; }
|
|
34
|
+
static set totalToLoad(val) { this._state.totalToLoad = val; }
|
|
35
|
+
static get loadedCount() { return this._state.loadedCount; }
|
|
36
|
+
static set loadedCount(val) { this._state.loadedCount = val; }
|
|
14
37
|
/**
|
|
15
38
|
* Queue an image for loading.
|
|
16
39
|
* @param tag Unique tag to reference the image later.
|
|
@@ -71,10 +94,24 @@ class ResourceLoader {
|
|
|
71
94
|
}
|
|
72
95
|
return asset;
|
|
73
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Returns all loaded assets.
|
|
99
|
+
* @returns An array of { tag, image } objects.
|
|
100
|
+
*/
|
|
101
|
+
static getLoadedAssets() {
|
|
102
|
+
return Array.from(this.assets.entries()).map(([tag, image]) => ({
|
|
103
|
+
tag,
|
|
104
|
+
image
|
|
105
|
+
}));
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Clears all loaded assets and the loading queue.
|
|
109
|
+
*/
|
|
110
|
+
static clear() {
|
|
111
|
+
this.assets.clear();
|
|
112
|
+
this.loadingQueue.clear();
|
|
113
|
+
this.totalToLoad = 0;
|
|
114
|
+
this.loadedCount = 0;
|
|
115
|
+
}
|
|
74
116
|
}
|
|
75
|
-
ResourceLoader.assets = new Map();
|
|
76
|
-
ResourceLoader.loadingQueue = new Set();
|
|
77
|
-
ResourceLoader.totalToLoad = 0;
|
|
78
|
-
ResourceLoader.loadedCount = 0;
|
|
79
|
-
export default ResourceLoader;
|
|
80
117
|
//# sourceMappingURL=Loader.js.map
|
package/dist/Loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loader.js","sourceRoot":"","sources":["../src/Loader.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Loader.js","sourceRoot":"","sources":["../src/Loader.ts"],"names":[],"mappings":"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"}
|
package/dist/Sprite.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ export interface SpriteProps {
|
|
|
20
20
|
endCol: number;
|
|
21
21
|
/** Rendering order. */
|
|
22
22
|
zIndex?: number;
|
|
23
|
+
/** Scale of the sprite (defaults to 1). */
|
|
24
|
+
scale?: number | Vector2;
|
|
23
25
|
}
|
|
24
26
|
/**
|
|
25
27
|
* Represents an animated sprite using a spritesheet.
|
|
@@ -57,7 +59,18 @@ export default class Sprite extends GameObject {
|
|
|
57
59
|
/** Duration of each animation frame in milliseconds. */
|
|
58
60
|
get frameDuration(): number;
|
|
59
61
|
set frameDuration(val: number);
|
|
62
|
+
/**
|
|
63
|
+
* Gets or sets the scale of the sprite.
|
|
64
|
+
* Updating this will also update the object's bounds.
|
|
65
|
+
*/
|
|
66
|
+
get scale(): Vector2;
|
|
67
|
+
set scale(val: number | Vector2);
|
|
60
68
|
constructor(props: SpriteProps);
|
|
69
|
+
/**
|
|
70
|
+
* Updates the bounds of the sprite based on its current frame size and scale.
|
|
71
|
+
* @private
|
|
72
|
+
*/
|
|
73
|
+
private _updateBounds;
|
|
61
74
|
/**
|
|
62
75
|
* Registers the sprite with the engine and starts its animation loop.
|
|
63
76
|
*/
|
package/dist/Sprite.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Engine from './Engine.js';
|
|
2
2
|
import GameObject from './GameObject.js';
|
|
3
|
+
import Vector2 from './Vector2.js';
|
|
3
4
|
import ResourceLoader from './Loader.js';
|
|
4
5
|
import SpriteComponent from './SpriteComponent.js';
|
|
5
6
|
import BoundsComponent from './BoundsComponent.js';
|
|
@@ -35,6 +36,20 @@ export default class Sprite extends GameObject {
|
|
|
35
36
|
/** Duration of each animation frame in milliseconds. */
|
|
36
37
|
get frameDuration() { return this._spriteComponent.frameDuration; }
|
|
37
38
|
set frameDuration(val) { this._spriteComponent.frameDuration = val; }
|
|
39
|
+
/**
|
|
40
|
+
* Gets or sets the scale of the sprite.
|
|
41
|
+
* Updating this will also update the object's bounds.
|
|
42
|
+
*/
|
|
43
|
+
get scale() { return this.transform.scale; }
|
|
44
|
+
set scale(val) {
|
|
45
|
+
if (typeof val === 'number') {
|
|
46
|
+
this.transform.scale = new Vector2(val, val);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
this.transform.scale = val;
|
|
50
|
+
}
|
|
51
|
+
this._updateBounds();
|
|
52
|
+
}
|
|
38
53
|
constructor(props) {
|
|
39
54
|
if (!props.tag) {
|
|
40
55
|
throw new Error('You must provide a tag for a Sprite');
|
|
@@ -51,11 +66,34 @@ export default class Sprite extends GameObject {
|
|
|
51
66
|
}
|
|
52
67
|
this._spriteComponent = new SpriteComponent(img, props.rows, props.cols, props.startCol, props.endCol);
|
|
53
68
|
this.addComponent(this._spriteComponent);
|
|
54
|
-
|
|
69
|
+
const scale = props.scale !== undefined ? props.scale : 1;
|
|
70
|
+
if (typeof scale === 'number') {
|
|
71
|
+
this.transform.scale = new Vector2(scale, scale);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.transform.scale = scale;
|
|
75
|
+
}
|
|
76
|
+
this.bounds = new BoundsComponent(0, 0);
|
|
55
77
|
this.addComponent(this.bounds);
|
|
78
|
+
if (img.complete) {
|
|
79
|
+
this._updateBounds();
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
img.addEventListener('load', () => this._updateBounds(), { once: true });
|
|
83
|
+
}
|
|
56
84
|
this.transform.position = props.position;
|
|
57
85
|
this.registered = false;
|
|
58
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Updates the bounds of the sprite based on its current frame size and scale.
|
|
89
|
+
* @private
|
|
90
|
+
*/
|
|
91
|
+
_updateBounds() {
|
|
92
|
+
if (this.bounds) {
|
|
93
|
+
this.bounds.width = this.frameWidth * this.transform.scale.x;
|
|
94
|
+
this.bounds.height = this.frameHeight * this.transform.scale.y;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
59
97
|
/**
|
|
60
98
|
* Registers the sprite with the engine and starts its animation loop.
|
|
61
99
|
*/
|
package/dist/Sprite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sprite.js","sourceRoot":"","sources":["../src/Sprite.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,UAAU,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Sprite.js","sourceRoot":"","sources":["../src/Sprite.ts"],"names":[],"mappings":"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"}
|
package/dist/SpriteComponent.js
CHANGED
|
@@ -80,13 +80,13 @@ class SpriteComponent extends RenderComponent {
|
|
|
80
80
|
ctx.rotate(worldRotation);
|
|
81
81
|
ctx.scale(worldScale.x, worldScale.y);
|
|
82
82
|
if (this.flip) {
|
|
83
|
-
ctx.translate(frameWidth
|
|
83
|
+
ctx.translate(frameWidth, 0);
|
|
84
84
|
ctx.scale(-1, 1);
|
|
85
|
-
ctx.drawImage(img, column * frameWidth, row * frameHeight, frameWidth, frameHeight, 0, 0, frameWidth
|
|
85
|
+
ctx.drawImage(img, column * frameWidth, row * frameHeight, frameWidth, frameHeight, 0, 0, frameWidth, frameHeight);
|
|
86
86
|
}
|
|
87
87
|
else {
|
|
88
88
|
ctx.drawImage(img, column * frameWidth, row * frameHeight, frameWidth, frameHeight, 0, // Drawing at 0,0 relative to transform
|
|
89
|
-
0, frameWidth
|
|
89
|
+
0, frameWidth, frameHeight);
|
|
90
90
|
}
|
|
91
91
|
ctx.restore();
|
|
92
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpriteComponent.js","sourceRoot":"","sources":["../src/SpriteComponent.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAqB,eAAgB,SAAQ,eAAe;IA0B1D,YAAY,GAAqB,EAAE,IAAY,EAAE,IAAY,EAAE,QAAgB,EAAE,MAAc;QAC7F,KAAK,EAAE,CAAC;QAhBV,mDAAmD;QACnD,eAAU,GAAW,CAAC,CAAC;QACvB,oDAAoD;QACpD,gBAAW,GAAW,CAAC,CAAC;QACxB,+CAA+C;QAC/C,iBAAY,GAAW,CAAC,CAAC;QACzB,kDAAkD;QAClD,SAAI,GAAY,KAAK,CAAC;QACtB,wDAAwD;QACxD,kBAAa,GAAW,GAAG,CAAC;QAC5B,6DAA6D;QAC7D,YAAO,GAAY,KAAK,CAAC;QAEzB,2CAA2B,IAAI,CAAC,GAAG,EAAE,EAAC;QAIpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAE7B,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;YAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACjD,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACtB,aAAa,EAAE,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,GAA6B;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAEtE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,GAAG,uBAAA,IAAI,wCAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACrE,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;YACvB,uBAAA,IAAI,oCAAoB,GAAG,MAAA,CAAC;QAC9B,CAAC;QAED,MAAM,EACJ,GAAG,EACH,IAAI,EACJ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,MAAM,GACP,GAAG,IAAI,CAAC;QAET,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAE/E,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACjC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;QAEnC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC;QAE5B,IAAI,IAAI,CAAC,YAAY,GAAG,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC/B,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,GAAG,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC/B,CAAC;QAED,0BAA0B;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;QAEjD,GAAG,CAAC,IAAI,EAAE,CAAC;QAEX,wBAAwB;QACxB,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,aAAa,KAAK,CAAC;YAAE,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,GAAG,CAAC,SAAS,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"SpriteComponent.js","sourceRoot":"","sources":["../src/SpriteComponent.ts"],"names":[],"mappings":"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"}
|