dino-ge 1.8.10 → 1.8.11
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 +28 -23
- package/dist/Component.d.ts +2 -0
- package/dist/Component.js.map +1 -1
- package/dist/GameObject.js +2 -4
- package/dist/GameObject.js.map +1 -1
- package/dist/Input.js +2 -2
- package/dist/Input.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
# dino-ge
|
|
2
2
|
|
|
3
|
-
A lightweight, performant 2D game engine built from the ground up in TypeScript. `dino-ge` provides a robust, developer-friendly framework for building
|
|
3
|
+
A lightweight, performant 2D game engine built from the ground up in TypeScript. `dino-ge` provides a robust, developer-friendly framework for building 2D web games.
|
|
4
|
+
|
|
5
|
+
⚠️ **This project is in alpha** ⚠️
|
|
4
6
|
|
|
5
7
|
## Features
|
|
6
8
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
9
|
+
- **Composition-based Architecture:** Flexible `GameObject` system for managing game entities.
|
|
10
|
+
- **Built-in Physics:** Integrated 2D physics with support for AABB collision detection.
|
|
11
|
+
- **Rendering System:** High-performance canvas-based rendering for sprites, tilemaps, and primitives.
|
|
12
|
+
- **Input Management:** Easy-to-use handling for keyboard and mouse events.
|
|
13
|
+
- **Asset Loading:** Efficient resource management and preloading for textures and images.
|
|
14
|
+
- **Camera System:** Dynamic camera with support for zooming and following.
|
|
15
|
+
- **TypeScript Native:** Full type safety and modern ES module support.
|
|
14
16
|
|
|
15
17
|
## Installation
|
|
16
18
|
|
|
@@ -23,23 +25,26 @@ npm install dino-ge
|
|
|
23
25
|
```typescript
|
|
24
26
|
import { Engine, Scene, Sprite, Vector2, Loader } from 'dino-ge';
|
|
25
27
|
|
|
26
|
-
const engine = new Engine(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
28
|
+
const engine = new Engine(
|
|
29
|
+
{
|
|
30
|
+
onLoad: async () => {
|
|
31
|
+
// Load assets
|
|
32
|
+
Loader.queueImage('player', 'assets/player.png');
|
|
33
|
+
await Loader.loadAll();
|
|
34
|
+
|
|
35
|
+
// Create and set scene
|
|
36
|
+
const scene = new MyGameScene();
|
|
37
|
+
Engine.currentScene = scene;
|
|
38
|
+
},
|
|
39
|
+
update: () => {
|
|
40
|
+
// Global update logic
|
|
41
|
+
}
|
|
35
42
|
},
|
|
36
|
-
|
|
37
|
-
|
|
43
|
+
{
|
|
44
|
+
title: 'My Dino Game',
|
|
45
|
+
backgroundColour: '#264653'
|
|
38
46
|
}
|
|
39
|
-
|
|
40
|
-
title: 'My Dino Game',
|
|
41
|
-
backgroundColour: '#264653'
|
|
42
|
-
});
|
|
47
|
+
);
|
|
43
48
|
|
|
44
49
|
class MyGameScene extends Scene {
|
|
45
50
|
onLoad() {
|
package/dist/Component.d.ts
CHANGED
|
@@ -6,4 +6,6 @@ import type GameObject from './GameObject.js';
|
|
|
6
6
|
export default abstract class Component {
|
|
7
7
|
/** Reference to the GameObject this component is attached to. */
|
|
8
8
|
gameObject?: GameObject;
|
|
9
|
+
/** Optional lifecycle hook called when the component is added to a GameObject. */
|
|
10
|
+
onAttach?(): void;
|
|
9
11
|
}
|
package/dist/Component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../src/Component.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAgB,SAAS;
|
|
1
|
+
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../src/Component.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAgB,SAAS;CAMtC"}
|
package/dist/GameObject.js
CHANGED
|
@@ -54,20 +54,18 @@ export default class GameObject {
|
|
|
54
54
|
* @param component The component to add.
|
|
55
55
|
*/
|
|
56
56
|
addComponent(component) {
|
|
57
|
+
var _a;
|
|
57
58
|
component.gameObject = this;
|
|
58
59
|
// Index the component by its class name and all base class names up to Component.
|
|
59
60
|
let proto = Object.getPrototypeOf(component);
|
|
60
61
|
while (proto && proto.constructor.name !== 'Object') {
|
|
61
62
|
const key = proto.constructor.name;
|
|
62
63
|
this._components.set(key, component);
|
|
63
|
-
// Stop walking once we've indexed up to the base Component class.
|
|
64
64
|
if (key === 'Component')
|
|
65
65
|
break;
|
|
66
66
|
proto = Object.getPrototypeOf(proto);
|
|
67
67
|
}
|
|
68
|
-
|
|
69
|
-
component.onAttach();
|
|
70
|
-
}
|
|
68
|
+
(_a = component.onAttach) === null || _a === void 0 ? void 0 : _a.call(component);
|
|
71
69
|
}
|
|
72
70
|
/**
|
|
73
71
|
* Removes a component from this entity by its class.
|
package/dist/GameObject.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GameObject.js","sourceRoot":"","sources":["../src/GameObject.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAgB,UAAU;IAatC,YAAY,GAAW,EAAE,MAAc;QAZvC,wCAAwC;QACxB,OAAE,GAAW,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxE,wDAAwD;QAChD,gBAAW,GAA2B,IAAI,GAAG,EAAE,CAAC;QAUtD,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEjC,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,EAAE,CAAC,IAAY,EAAE,QAAsC;QACrD,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,IAAY,EAAE,QAAsC;;QACtD,MAAA,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,0CAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,IAAY,EAAE,MAAgB;;QACjC,MAAA,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,0CAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,SAAoB
|
|
1
|
+
{"version":3,"file":"GameObject.js","sourceRoot":"","sources":["../src/GameObject.ts"],"names":[],"mappings":"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"}
|
package/dist/Input.js
CHANGED
|
@@ -38,11 +38,11 @@ class Input {
|
|
|
38
38
|
// Check for ShapeComponent or TextComponent which have width/height props
|
|
39
39
|
const shape = obj.getComponent(ShapeComponent);
|
|
40
40
|
const text = obj.getComponent(TextComponent);
|
|
41
|
-
if (shape
|
|
41
|
+
if (shape) {
|
|
42
42
|
shape.width = newWidth;
|
|
43
43
|
shape.height = newHeight;
|
|
44
44
|
}
|
|
45
|
-
else if (text
|
|
45
|
+
else if (text) {
|
|
46
46
|
text.width = newWidth;
|
|
47
47
|
text.height = newHeight;
|
|
48
48
|
}
|
package/dist/Input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../src/Input.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C;;GAEG;AACH,MAAqB,KAAK;IAUxB;;OAEG;IACH,MAAM,CAAC,IAAI;QACT,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,KAAiB,EAAE,EAAE;;YAC3D,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YAErC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC;gBAClC,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;gBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAE7D,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;gBACjD,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;oBAC9D,+CAA+C;oBAC/C,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;oBACrD,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;oBAEvD,0BAA0B;oBAC1B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBACf,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;wBAC5B,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;oBAChC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,0EAA0E;oBAC1E,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../src/Input.ts"],"names":[],"mappings":"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"}
|