dino-ge 1.10.8 → 1.11.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/{BoundsComponent.d.ts → components/BoundsComponent.d.ts} +1 -1
- package/dist/{BoundsComponent.js → components/BoundsComponent.js} +1 -1
- package/dist/components/BoundsComponent.js.map +1 -0
- package/dist/{EventBusComponent.d.ts → components/EventBusComponent.d.ts} +1 -1
- package/dist/{EventBusComponent.js → components/EventBusComponent.js} +1 -1
- package/dist/components/EventBusComponent.js.map +1 -0
- package/dist/{LineComponent.d.ts → components/LineComponent.d.ts} +1 -1
- package/dist/components/LineComponent.js.map +1 -0
- package/dist/{PhysicsComponent.d.ts → components/PhysicsComponent.d.ts} +4 -2
- package/dist/{PhysicsComponent.js → components/PhysicsComponent.js} +4 -2
- package/dist/components/PhysicsComponent.js.map +1 -0
- package/dist/{RenderComponent.d.ts → components/RenderComponent.d.ts} +1 -1
- package/dist/{RenderComponent.js → components/RenderComponent.js} +1 -1
- package/dist/components/RenderComponent.js.map +1 -0
- package/dist/{ShapeComponent.js → components/ShapeComponent.js} +1 -2
- package/dist/components/ShapeComponent.js.map +1 -0
- package/dist/components/SpriteComponent.js.map +1 -0
- package/dist/{TagComponent.d.ts → components/TagComponent.d.ts} +4 -2
- package/dist/{TagComponent.js → components/TagComponent.js} +4 -3
- package/dist/components/TagComponent.js.map +1 -0
- package/dist/{TextComponent.d.ts → components/TextComponent.d.ts} +1 -1
- package/dist/{TextComponent.js → components/TextComponent.js} +2 -2
- package/dist/components/TextComponent.js.map +1 -0
- package/dist/components/TilemapComponent.js.map +1 -0
- package/dist/{TransformComponent.d.ts → components/TransformComponent.d.ts} +2 -2
- package/dist/{TransformComponent.js → components/TransformComponent.js} +2 -2
- package/dist/components/TransformComponent.js.map +1 -0
- package/dist/{VisibilityComponent.d.ts → components/VisibilityComponent.d.ts} +2 -1
- package/dist/components/VisibilityComponent.js +11 -0
- package/dist/components/VisibilityComponent.js.map +1 -0
- package/dist/{Camera.d.ts → core/Camera.d.ts} +3 -3
- package/dist/{Camera.js → core/Camera.js} +3 -3
- package/dist/core/Camera.js.map +1 -0
- package/dist/{Canvas.d.ts → core/Canvas.d.ts} +1 -1
- package/dist/{Canvas.js → core/Canvas.js} +1 -1
- package/dist/core/Canvas.js.map +1 -0
- package/dist/core/Component.js.map +1 -0
- package/dist/{Engine.d.ts → core/Engine.d.ts} +9 -5
- package/dist/{Engine.js → core/Engine.js} +35 -16
- package/dist/core/Engine.js.map +1 -0
- package/dist/{EngineState.d.ts → core/EngineState.d.ts} +4 -2
- package/dist/core/EngineState.js.map +1 -0
- package/dist/{GameObject.d.ts → core/GameObject.d.ts} +6 -5
- package/dist/{GameObject.js → core/GameObject.js} +8 -7
- package/dist/core/GameObject.js.map +1 -0
- package/dist/{Group.d.ts → core/Group.d.ts} +1 -1
- package/dist/{Group.js → core/Group.js} +1 -1
- package/dist/core/Group.js.map +1 -0
- package/dist/{Input.d.ts → core/Input.d.ts} +3 -3
- package/dist/{Input.js → core/Input.js} +15 -8
- package/dist/core/Input.js.map +1 -0
- package/dist/core/Loader.js.map +1 -0
- package/dist/core/ObjectSet.js.map +1 -0
- package/dist/{Registry.js → core/Registry.js} +2 -0
- package/dist/core/Registry.js.map +1 -0
- package/dist/{Scene.d.ts → core/Scene.d.ts} +1 -1
- package/dist/{Scene.js → core/Scene.js} +1 -1
- package/dist/core/Scene.js.map +1 -0
- package/dist/core/System.js.map +1 -0
- package/dist/index.d.ts +33 -33
- package/dist/index.js +32 -32
- package/dist/index.js.map +1 -1
- package/dist/{Vector2.d.ts → math/Vector2.d.ts} +1 -1
- package/dist/{Vector2.js → math/Vector2.js} +1 -1
- package/dist/math/Vector2.js.map +1 -0
- package/dist/{Circle.d.ts → objects/Circle.d.ts} +19 -5
- package/dist/{Circle.js → objects/Circle.js} +29 -7
- package/dist/objects/Circle.js.map +1 -0
- package/dist/{Line.d.ts → objects/Line.d.ts} +17 -3
- package/dist/objects/Line.js +64 -0
- package/dist/objects/Line.js.map +1 -0
- package/dist/{Rectangle.d.ts → objects/Rectangle.d.ts} +17 -3
- package/dist/objects/Rectangle.js +55 -0
- package/dist/objects/Rectangle.js.map +1 -0
- package/dist/{Sprite.d.ts → objects/Sprite.d.ts} +17 -3
- package/dist/{Sprite.js → objects/Sprite.js} +30 -10
- package/dist/objects/Sprite.js.map +1 -0
- package/dist/{Text.d.ts → objects/Text.d.ts} +19 -5
- package/dist/{Text.js → objects/Text.js} +31 -9
- package/dist/objects/Text.js.map +1 -0
- package/dist/{Tilemap.d.ts → objects/Tilemap.d.ts} +5 -3
- package/dist/{Tilemap.js → objects/Tilemap.js} +5 -5
- package/dist/objects/Tilemap.js.map +1 -0
- package/dist/{Physics.d.ts → physics/Physics.d.ts} +2 -2
- package/dist/{Physics.js → physics/Physics.js} +42 -33
- package/dist/physics/Physics.js.map +1 -0
- package/dist/{PhysicsSystem.d.ts → systems/PhysicsSystem.d.ts} +2 -2
- package/dist/{PhysicsSystem.js → systems/PhysicsSystem.js} +12 -5
- package/dist/systems/PhysicsSystem.js.map +1 -0
- package/dist/{RenderingSystem.d.ts → systems/RenderingSystem.d.ts} +3 -3
- package/dist/{RenderingSystem.js → systems/RenderingSystem.js} +24 -20
- package/dist/systems/RenderingSystem.js.map +1 -0
- package/package.json +1 -1
- package/dist/BoundsComponent.js.map +0 -1
- package/dist/Camera.js.map +0 -1
- package/dist/Canvas.js.map +0 -1
- package/dist/Circle.js.map +0 -1
- package/dist/Component.js.map +0 -1
- package/dist/Engine.js.map +0 -1
- package/dist/EngineState.js.map +0 -1
- package/dist/EventBusComponent.js.map +0 -1
- package/dist/GameObject.js.map +0 -1
- package/dist/Group.js.map +0 -1
- package/dist/Input.js.map +0 -1
- package/dist/Line.js +0 -41
- package/dist/Line.js.map +0 -1
- package/dist/LineComponent.js.map +0 -1
- package/dist/Loader.js.map +0 -1
- package/dist/ObjectSet.js.map +0 -1
- package/dist/Physics.js.map +0 -1
- package/dist/PhysicsComponent.js.map +0 -1
- package/dist/PhysicsSystem.js.map +0 -1
- package/dist/Rectangle.js +0 -33
- package/dist/Rectangle.js.map +0 -1
- package/dist/Registry.js.map +0 -1
- package/dist/RenderComponent.js.map +0 -1
- package/dist/RenderingSystem.js.map +0 -1
- package/dist/Scene.js.map +0 -1
- package/dist/ShapeComponent.js.map +0 -1
- package/dist/Sprite.js.map +0 -1
- package/dist/SpriteComponent.js.map +0 -1
- package/dist/System.js.map +0 -1
- package/dist/TagComponent.js.map +0 -1
- package/dist/Text.js.map +0 -1
- package/dist/TextComponent.js.map +0 -1
- package/dist/Tilemap.js.map +0 -1
- package/dist/TilemapComponent.js.map +0 -1
- package/dist/TransformComponent.js.map +0 -1
- package/dist/Vector2.js.map +0 -1
- package/dist/VisibilityComponent.js +0 -12
- package/dist/VisibilityComponent.js.map +0 -1
- /package/dist/{LineComponent.js → components/LineComponent.js} +0 -0
- /package/dist/{ShapeComponent.d.ts → components/ShapeComponent.d.ts} +0 -0
- /package/dist/{SpriteComponent.d.ts → components/SpriteComponent.d.ts} +0 -0
- /package/dist/{SpriteComponent.js → components/SpriteComponent.js} +0 -0
- /package/dist/{TilemapComponent.d.ts → components/TilemapComponent.d.ts} +0 -0
- /package/dist/{TilemapComponent.js → components/TilemapComponent.js} +0 -0
- /package/dist/{Component.d.ts → core/Component.d.ts} +0 -0
- /package/dist/{Component.js → core/Component.js} +0 -0
- /package/dist/{EngineState.js → core/EngineState.js} +0 -0
- /package/dist/{Loader.d.ts → core/Loader.d.ts} +0 -0
- /package/dist/{Loader.js → core/Loader.js} +0 -0
- /package/dist/{ObjectSet.d.ts → core/ObjectSet.d.ts} +0 -0
- /package/dist/{ObjectSet.js → core/ObjectSet.js} +0 -0
- /package/dist/{Registry.d.ts → core/Registry.d.ts} +0 -0
- /package/dist/{System.d.ts → core/System.d.ts} +0 -0
- /package/dist/{System.js → core/System.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoundsComponent.js","sourceRoot":"","sources":["../../src/components/BoundsComponent.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,SAAS;IAMpD,YAAY,QAAgB,CAAC,EAAE,SAAiB,CAAC;QAC/C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventBusComponent.js","sourceRoot":"","sources":["../../src/components/EventBusComponent.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,SAAS;IAAxD;;QACU,WAAM,GAAgB,IAAI,WAAW,EAAE,CAAC;IA4BlD,CAAC;IA1BC;;;;OAIG;IACH,EAAE,CAAC,IAAY,EAAE,QAAsC;QACrD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAA8B,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,IAAY,EAAE,QAAsC;QACtD,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAA8B,CAAC,CAAC;IACxE,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,IAAY,EAAE,MAAgB;QACjC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LineComponent.js","sourceRoot":"","sources":["../../src/components/LineComponent.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAGnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,eAAe;IAQxD,YAAY,WAAmB,EAAE,EAAW,EAAE,EAAW;QACvD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,GAA6B;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAE/E,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,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,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;QACjC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjC,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,GAAG,CAAC,SAAS,EAAE,CAAC;QAEhB,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Component from '
|
|
2
|
-
import Vector2 from '
|
|
1
|
+
import Component from '../core/Component.js';
|
|
2
|
+
import Vector2 from '../math/Vector2.js';
|
|
3
3
|
/**
|
|
4
4
|
* Component that holds physics-related data for a GameObject.
|
|
5
5
|
*/
|
|
@@ -16,4 +16,6 @@ export default class PhysicsComponent extends Component {
|
|
|
16
16
|
restitution: number;
|
|
17
17
|
/** Resistance to sliding. */
|
|
18
18
|
friction: number;
|
|
19
|
+
/** Whether the object should detect collisions but not respond to them physically. */
|
|
20
|
+
isSensor: boolean;
|
|
19
21
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Component from '
|
|
2
|
-
import Vector2 from '
|
|
1
|
+
import Component from '../core/Component.js';
|
|
2
|
+
import Vector2 from '../math/Vector2.js';
|
|
3
3
|
/**
|
|
4
4
|
* Component that holds physics-related data for a GameObject.
|
|
5
5
|
*/
|
|
@@ -18,6 +18,8 @@ export default class PhysicsComponent extends Component {
|
|
|
18
18
|
this.restitution = 0.5;
|
|
19
19
|
/** Resistance to sliding. */
|
|
20
20
|
this.friction = 0.2;
|
|
21
|
+
/** Whether the object should detect collisions but not respond to them physically. */
|
|
22
|
+
this.isSensor = false;
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
//# sourceMappingURL=PhysicsComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhysicsComponent.js","sourceRoot":"","sources":["../../src/components/PhysicsComponent.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,SAAS;IAAvD;;QACE,6CAA6C;QAC7C,aAAQ,GAAY,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,yDAAyD;QACzD,iBAAY,GAAY,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,wDAAwD;QACxD,SAAI,GAAW,CAAC,CAAC;QACjB,qDAAqD;QACrD,aAAQ,GAAY,KAAK,CAAC;QAC1B,uEAAuE;QACvE,gBAAW,GAAW,GAAG,CAAC;QAC1B,6BAA6B;QAC7B,aAAQ,GAAW,GAAG,CAAC;QACvB,sFAAsF;QACtF,aAAQ,GAAY,KAAK,CAAC;IAC5B,CAAC;CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderComponent.js","sourceRoot":"","sources":["../../src/components/RenderComponent.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAgB,eAAgB,SAAQ,SAAS;CAM9D"}
|
|
@@ -65,7 +65,6 @@ export default class ShapeComponent extends RenderComponent {
|
|
|
65
65
|
targetHeight = this._initialWidth * 2;
|
|
66
66
|
}
|
|
67
67
|
this.gameObject.bounds = new BoundsComponent(targetWidth, targetHeight);
|
|
68
|
-
this.gameObject.addComponent(this.gameObject.bounds);
|
|
69
68
|
}
|
|
70
69
|
else {
|
|
71
70
|
// Sync initial values if bounds already exist
|
|
@@ -100,7 +99,7 @@ export default class ShapeComponent extends RenderComponent {
|
|
|
100
99
|
else if (this.type === 'circle') {
|
|
101
100
|
const radius = width / 2;
|
|
102
101
|
ctx.beginPath();
|
|
103
|
-
// In local space
|
|
102
|
+
// In local space centre is at (radius, radius)
|
|
104
103
|
ctx.arc(radius, radius, radius, 0, Math.PI * 2);
|
|
105
104
|
ctx.fill();
|
|
106
105
|
ctx.closePath();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShapeComponent.js","sourceRoot":"","sources":["../../src/components/ShapeComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpriteComponent.js","sourceRoot":"","sources":["../../src/components/SpriteComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import Component from '
|
|
1
|
+
import Component from '../core/Component.js';
|
|
2
2
|
/**
|
|
3
3
|
* Component that holds metadata like tags and rendering order.
|
|
4
4
|
*/
|
|
5
5
|
export default class TagComponent extends Component {
|
|
6
6
|
/** A unique identifier for the object type. */
|
|
7
7
|
tag: string;
|
|
8
|
+
/** Hidden identifier linking runtime object to its source code location. */
|
|
9
|
+
sourceId?: string;
|
|
8
10
|
private _zIndex;
|
|
9
11
|
/** Rendering order (lower is background, higher is foreground). */
|
|
10
12
|
get zIndex(): number;
|
|
11
13
|
set zIndex(val: number);
|
|
12
|
-
constructor(tag?: string, zIndex?: number);
|
|
14
|
+
constructor(tag?: string, zIndex?: number, sourceId?: string);
|
|
13
15
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Component from '
|
|
2
|
-
import { getEngineState } from '
|
|
1
|
+
import Component from '../core/Component.js';
|
|
2
|
+
import { getEngineState } from '../core/EngineState.js';
|
|
3
3
|
/**
|
|
4
4
|
* Component that holds metadata like tags and rendering order.
|
|
5
5
|
*/
|
|
@@ -15,10 +15,11 @@ export default class TagComponent extends Component {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
constructor(tag = 'obj', zIndex = 0) {
|
|
18
|
+
constructor(tag = 'obj', zIndex = 0, sourceId) {
|
|
19
19
|
super();
|
|
20
20
|
this.tag = tag;
|
|
21
21
|
this._zIndex = zIndex;
|
|
22
|
+
this.sourceId = sourceId;
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
//# sourceMappingURL=TagComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagComponent.js","sourceRoot":"","sources":["../../src/components/TagComponent.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAAS;IAOjD,mEAAmE;IACnE,IAAI,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,GAAW;QACpB,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACnB,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,YAAY,MAAc,KAAK,EAAE,SAAiB,CAAC,EAAE,QAAiB;QACpE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -83,12 +83,12 @@ export default class TextComponent extends RenderComponent {
|
|
|
83
83
|
}
|
|
84
84
|
ctx.font = this.font;
|
|
85
85
|
ctx.fillStyle = this.colour;
|
|
86
|
-
ctx.textAlign = this.horizontalAlign;
|
|
86
|
+
ctx.textAlign = (this.horizontalAlign === 'centre' ? 'center' : this.horizontalAlign);
|
|
87
87
|
ctx.textBaseline = this.verticalAlign;
|
|
88
88
|
// Calculate draw position based on alignment
|
|
89
89
|
let x = 0;
|
|
90
90
|
let y = 0;
|
|
91
|
-
if (this.horizontalAlign === '
|
|
91
|
+
if (this.horizontalAlign === 'centre')
|
|
92
92
|
x = width / 2;
|
|
93
93
|
else if (this.horizontalAlign === 'right' || this.horizontalAlign === 'end')
|
|
94
94
|
x = width;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextComponent.js","sourceRoot":"","sources":["../../src/components/TextComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TilemapComponent.js","sourceRoot":"","sources":["../../src/components/TilemapComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Component from '
|
|
2
|
-
import Vector2 from '
|
|
1
|
+
import Component from '../core/Component.js';
|
|
2
|
+
import Vector2 from '../math/Vector2.js';
|
|
3
3
|
/**
|
|
4
4
|
* Component that holds the position, rotation, and scale of an entity.
|
|
5
5
|
* Supports hierarchical transformations (parent-child relationships).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Component from '
|
|
2
|
-
import Vector2 from '
|
|
1
|
+
import Component from '../core/Component.js';
|
|
2
|
+
import Vector2 from '../math/Vector2.js';
|
|
3
3
|
/**
|
|
4
4
|
* Component that holds the position, rotation, and scale of an entity.
|
|
5
5
|
* Supports hierarchical transformations (parent-child relationships).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransformComponent.js","sourceRoot":"","sources":["../../src/components/TransformComponent.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,SAAS;IAKvD,6CAA6C;IAC7C,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,IAAI,QAAQ,CAAC,GAAY;QACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,wDAAwD;IACxD,IAAI,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,GAAW;QACtB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,0CAA0C;IAC1C,IAAI,KAAK,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,GAAY;QACpB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAaD;QACE,KAAK,EAAE,CAAC;QAvCF,cAAS,GAAY,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,cAAS,GAAW,CAAC,CAAC;QACtB,WAAM,GAAY,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QA2B5C,mCAAmC;QACnC,aAAQ,GAA4B,IAAI,GAAG,EAAE,CAAC;QAE9C,mCAAmC;QAC3B,aAAQ,GAAG,IAAI,CAAC;QAChB,mBAAc,GAAY,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,mBAAc,GAAW,CAAC,CAAC;QAC3B,gBAAW,GAAY,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAI/C,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,sBAAsB;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,QAAQ;QACb,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAyB;QAChC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;QAElC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAyB;QACnC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC1B,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,IAAI,aAAa;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,GAAY;QAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,GAAY;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACK,oBAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACjD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAEhD,sDAAsD;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;YAEpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAErC,MAAM,QAAQ,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC;YAE7C,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,QAAQ,CAAC;YACpD,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,QAAQ,CAAC;YACpD,IAAI,CAAC,cAAc,GAAG,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import Component from '
|
|
1
|
+
import Component from '../core/Component.js';
|
|
2
2
|
/**
|
|
3
3
|
* Component that determines whether an object should be rendered.
|
|
4
4
|
*/
|
|
5
5
|
export default class VisibilityComponent extends Component {
|
|
6
6
|
/** Whether the object should be rendered. */
|
|
7
7
|
visible: boolean;
|
|
8
|
+
constructor(visible?: boolean);
|
|
8
9
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import Component from '../core/Component.js';
|
|
2
|
+
/**
|
|
3
|
+
* Component that determines whether an object should be rendered.
|
|
4
|
+
*/
|
|
5
|
+
export default class VisibilityComponent extends Component {
|
|
6
|
+
constructor(visible = true) {
|
|
7
|
+
super();
|
|
8
|
+
this.visible = visible;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=VisibilityComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisibilityComponent.js","sourceRoot":"","sources":["../../src/components/VisibilityComponent.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,SAAS;IAIxD,YAAY,UAAmB,IAAI;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Vector2 from '
|
|
1
|
+
import Vector2 from '../math/Vector2.js';
|
|
2
2
|
import type GameObject from './GameObject.js';
|
|
3
3
|
/**
|
|
4
4
|
* Manages the viewport and transformation of the game world.
|
|
@@ -9,11 +9,11 @@ export default class Camera {
|
|
|
9
9
|
/** Zoom level of the camera. */
|
|
10
10
|
zoom: number;
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* initialises a new instance of Camera.
|
|
13
13
|
*/
|
|
14
14
|
constructor();
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* centres the camera on a target object.
|
|
17
17
|
* @param target The object to follow.
|
|
18
18
|
* @param viewportWidth Width of the viewport.
|
|
19
19
|
* @param viewportHeight Height of the viewport.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import Vector2 from '
|
|
1
|
+
import Vector2 from '../math/Vector2.js';
|
|
2
2
|
/**
|
|
3
3
|
* Manages the viewport and transformation of the game world.
|
|
4
4
|
*/
|
|
5
5
|
export default class Camera {
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* initialises a new instance of Camera.
|
|
8
8
|
*/
|
|
9
9
|
constructor() {
|
|
10
10
|
/** Current camera position in world space. */
|
|
@@ -13,7 +13,7 @@ export default class Camera {
|
|
|
13
13
|
this.zoom = 1;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* centres the camera on a target object.
|
|
17
17
|
* @param target The object to follow.
|
|
18
18
|
* @param viewportWidth Width of the viewport.
|
|
19
19
|
* @param viewportHeight Height of the viewport.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../src/core/Camera.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAGzC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IAMzB;;OAEG;IACH;QARA,8CAA8C;QACvC,aAAQ,GAAY,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,gCAAgC;QACzB,SAAI,GAAW,CAAC,CAAC;IAKT,CAAC;IAEhB;;;;;OAKG;IACI,MAAM,CAAC,MAAkB,EAAE,aAAqB,EAAE,cAAsB;;QAC7E,MAAM,KAAK,GAAG,MAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,KAAK,mCAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,MAAM,mCAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9F,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IAClG,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,KAAa,EAAE,MAAc;QACpD,OAAO;YACL,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,IAAI;YACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI;SAC3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -9,7 +9,7 @@ export default class Canvas {
|
|
|
9
9
|
onResize?: () => void;
|
|
10
10
|
private _resizeObserver?;
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* initialises a new instance of Canvas.
|
|
13
13
|
* @param parentElement Optional HTML element to inject the canvas into.
|
|
14
14
|
*/
|
|
15
15
|
constructor(parentElement?: HTMLElement);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Canvas.js","sourceRoot":"","sources":["../../src/core/Canvas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IAQzB;;;OAGG;IACH,YAAY,aAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC;QAE1B,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAElC,4DAA4D;YAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,MAAoB;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QACnD,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;QAC1C,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,aAA0B;QAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../../src/core/Component.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAgB,SAAS;CAMtC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import GameObject from './GameObject.js';
|
|
2
2
|
import Scene from './Scene.js';
|
|
3
3
|
import Camera from './Camera.js';
|
|
4
|
-
import RenderingSystem from '
|
|
5
|
-
import type { CollisionManifold } from '
|
|
4
|
+
import RenderingSystem from '../systems/RenderingSystem.js';
|
|
5
|
+
import type { CollisionManifold } from '../physics/Physics.js';
|
|
6
6
|
import { ObjectSet } from './ObjectSet.js';
|
|
7
7
|
/**
|
|
8
|
-
* Options for
|
|
8
|
+
* Options for initialising the Engine.
|
|
9
9
|
*/
|
|
10
10
|
export interface EngineOpts {
|
|
11
11
|
/** The ID of the HTML element to inject the canvas into. */
|
|
@@ -23,7 +23,7 @@ export interface EngineOpts {
|
|
|
23
23
|
* Lifecycle and update callbacks for the engine.
|
|
24
24
|
*/
|
|
25
25
|
export interface EngineCallbacks {
|
|
26
|
-
/** Called once after the engine is
|
|
26
|
+
/** Called once after the engine is initialised. */
|
|
27
27
|
onLoad?: () => void;
|
|
28
28
|
/** Called every frame for game logic and rendering. */
|
|
29
29
|
update: () => void;
|
|
@@ -80,6 +80,10 @@ export default class Engine {
|
|
|
80
80
|
*/
|
|
81
81
|
static get paused(): boolean;
|
|
82
82
|
static set paused(val: boolean);
|
|
83
|
+
/**
|
|
84
|
+
* Returns the total active time of the game (excluding pause time).
|
|
85
|
+
*/
|
|
86
|
+
static get totalTime(): number;
|
|
83
87
|
/**
|
|
84
88
|
* Toggle for visual debug mode (hitboxes and stats).
|
|
85
89
|
*/
|
|
@@ -167,7 +171,7 @@ export default class Engine {
|
|
|
167
171
|
private _fixedDelta;
|
|
168
172
|
private _fpsValues;
|
|
169
173
|
/**
|
|
170
|
-
*
|
|
174
|
+
* initialises a new instance of the Engine.
|
|
171
175
|
* @param callbacks Lifecycle and update callbacks.
|
|
172
176
|
* @param opts Configuration options for the engine.
|
|
173
177
|
*/
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import Canvas from './Canvas.js';
|
|
2
2
|
import Input from './Input.js';
|
|
3
3
|
import Camera from './Camera.js';
|
|
4
|
-
import PhysicsSystem from '
|
|
5
|
-
import RenderingSystem from '
|
|
4
|
+
import PhysicsSystem from '../systems/PhysicsSystem.js';
|
|
5
|
+
import RenderingSystem from '../systems/RenderingSystem.js';
|
|
6
6
|
import Registry from './Registry.js';
|
|
7
|
-
import PhysicsComponent from '
|
|
7
|
+
import PhysicsComponent from '../components/PhysicsComponent.js';
|
|
8
8
|
import { ObjectSet } from './ObjectSet.js';
|
|
9
9
|
/**
|
|
10
10
|
* Shared state for the engine to ensure singletons work across different module loads.
|
|
@@ -17,6 +17,8 @@ const createInitialState = () => ({
|
|
|
17
17
|
camera: new Camera(),
|
|
18
18
|
systems: [new PhysicsSystem()],
|
|
19
19
|
events: new EventTarget(),
|
|
20
|
+
totalPausedTime: 0,
|
|
21
|
+
pauseStartTime: 0,
|
|
20
22
|
currentScene: null,
|
|
21
23
|
debugCollisions: [],
|
|
22
24
|
showPhysicsVectors: false,
|
|
@@ -82,9 +84,26 @@ export default class Engine {
|
|
|
82
84
|
static set paused(val) {
|
|
83
85
|
if (this._state.paused !== val) {
|
|
84
86
|
this._state.paused = val;
|
|
87
|
+
if (val) {
|
|
88
|
+
this._state.pauseStartTime = Date.now();
|
|
89
|
+
}
|
|
90
|
+
else if (this._state.pauseStartTime > 0) {
|
|
91
|
+
this._state.totalPausedTime += Date.now() - this._state.pauseStartTime;
|
|
92
|
+
this._state.pauseStartTime = 0;
|
|
93
|
+
}
|
|
85
94
|
this.emit('paused', val);
|
|
86
95
|
}
|
|
87
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Returns the total active time of the game (excluding pause time).
|
|
99
|
+
*/
|
|
100
|
+
static get totalTime() {
|
|
101
|
+
let currentPaused = 0;
|
|
102
|
+
if (this.paused && this._state.pauseStartTime > 0) {
|
|
103
|
+
currentPaused = Date.now() - this._state.pauseStartTime;
|
|
104
|
+
}
|
|
105
|
+
return Date.now() - this._state.totalPausedTime - currentPaused;
|
|
106
|
+
}
|
|
88
107
|
/**
|
|
89
108
|
* Toggle for visual debug mode (hitboxes and stats).
|
|
90
109
|
*/
|
|
@@ -177,7 +196,7 @@ export default class Engine {
|
|
|
177
196
|
return Input.mouseY;
|
|
178
197
|
}
|
|
179
198
|
/**
|
|
180
|
-
*
|
|
199
|
+
* initialises a new instance of the Engine.
|
|
181
200
|
* @param callbacks Lifecycle and update callbacks.
|
|
182
201
|
* @param opts Configuration options for the engine.
|
|
183
202
|
*/
|
|
@@ -287,19 +306,19 @@ export default class Engine {
|
|
|
287
306
|
return;
|
|
288
307
|
if (this._oldTimestamp === 0)
|
|
289
308
|
this._oldTimestamp = timestamp;
|
|
309
|
+
this._secondsPassed = (timestamp - this._oldTimestamp) / 1000;
|
|
310
|
+
this._oldTimestamp = timestamp;
|
|
311
|
+
// Avoid division by zero on first frame
|
|
312
|
+
if (this._secondsPassed > 0) {
|
|
313
|
+
// Smooth FPS calculation
|
|
314
|
+
const currentFps = 1 / this._secondsPassed;
|
|
315
|
+
this._fpsValues.push(currentFps);
|
|
316
|
+
if (this._fpsValues.length > 30)
|
|
317
|
+
this._fpsValues.shift();
|
|
318
|
+
this.fps = Math.round(this._fpsValues.reduce((a, b) => a + b, 0) / this._fpsValues.length);
|
|
319
|
+
this.frameTime = parseFloat((this._secondsPassed * 1000).toFixed(2));
|
|
320
|
+
}
|
|
290
321
|
if (!Engine.paused) {
|
|
291
|
-
this._secondsPassed = (timestamp - this._oldTimestamp) / 1000;
|
|
292
|
-
this._oldTimestamp = timestamp;
|
|
293
|
-
// Avoid division by zero on first frame
|
|
294
|
-
if (this._secondsPassed > 0) {
|
|
295
|
-
// Smooth FPS calculation
|
|
296
|
-
const currentFps = 1 / this._secondsPassed;
|
|
297
|
-
this._fpsValues.push(currentFps);
|
|
298
|
-
if (this._fpsValues.length > 30)
|
|
299
|
-
this._fpsValues.shift();
|
|
300
|
-
this.fps = Math.round(this._fpsValues.reduce((a, b) => a + b, 0) / this._fpsValues.length);
|
|
301
|
-
this.frameTime = parseFloat((this._secondsPassed * 1000).toFixed(2));
|
|
302
|
-
}
|
|
303
322
|
// Fixed update loop
|
|
304
323
|
this._accumulator += this._secondsPassed;
|
|
305
324
|
while (this._accumulator >= this._fixedDelta) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ import type GameObject from './GameObject.js';
|
|
|
2
2
|
import type Scene from './Scene.js';
|
|
3
3
|
import type Camera from './Camera.js';
|
|
4
4
|
import type System from './System.js';
|
|
5
|
-
import type RenderingSystem from '
|
|
6
|
-
import type { CollisionManifold } from '
|
|
5
|
+
import type RenderingSystem from '../systems/RenderingSystem.js';
|
|
6
|
+
import type { CollisionManifold } from '../physics/Physics.js';
|
|
7
7
|
import type { ObjectSet } from './ObjectSet.js';
|
|
8
8
|
/**
|
|
9
9
|
* Internal state of the engine, shared across instances.
|
|
@@ -17,6 +17,8 @@ export interface EngineState {
|
|
|
17
17
|
systems: System[];
|
|
18
18
|
renderingSystem?: RenderingSystem;
|
|
19
19
|
events: EventTarget;
|
|
20
|
+
totalPausedTime: number;
|
|
21
|
+
pauseStartTime: number;
|
|
20
22
|
currentScene: Scene | null;
|
|
21
23
|
debugCollisions: {
|
|
22
24
|
manifold: CollisionManifold;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngineState.js","sourceRoot":"","sources":["../../src/core/EngineState.ts"],"names":[],"mappings":"AA8BA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAgB,EAAE;IAC9C,MAAM,MAAM,GAAG,UAA+D,CAAC;IAC/E,OAAO,MAAM,CAAC,qBAAqB,CAAC;AACtC,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import Registry from './Registry.js';
|
|
2
2
|
import Component from './Component.js';
|
|
3
|
-
import TransformComponent from '
|
|
4
|
-
import TagComponent from '
|
|
5
|
-
import BoundsComponent from '
|
|
3
|
+
import TransformComponent from '../components/TransformComponent.js';
|
|
4
|
+
import TagComponent from '../components/TagComponent.js';
|
|
5
|
+
import BoundsComponent from '../components/BoundsComponent.js';
|
|
6
6
|
/**
|
|
7
7
|
* Interface representing an abstract class constructor.
|
|
8
8
|
*/
|
|
@@ -34,11 +34,12 @@ export default abstract class GameObject {
|
|
|
34
34
|
*/
|
|
35
35
|
set bounds(val: BoundsComponent | undefined);
|
|
36
36
|
/**
|
|
37
|
-
*
|
|
37
|
+
* initialises a new instance of a GameObject.
|
|
38
38
|
* @param tag A descriptive name for the object.
|
|
39
39
|
* @param zIndex The rendering order (higher numbers are drawn on top).
|
|
40
|
+
* @param sourceId Hidden identifier linking runtime object to its source code location.
|
|
40
41
|
*/
|
|
41
|
-
constructor(tag?: string, zIndex?: number);
|
|
42
|
+
constructor(tag?: string, zIndex?: number, sourceId?: string);
|
|
42
43
|
/**
|
|
43
44
|
* Listens for an event on this object's event bus.
|
|
44
45
|
* @param type The event type.
|