mani-game-engine 1.0.0-pre.13 → 1.0.0-pre.14
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/lib/entity.d.ts +2 -1
- package/lib/entity.js +4 -3
- package/lib/entity.js.map +1 -1
- package/package.json +1 -1
- package/src/entity.ts +4 -3
package/lib/entity.d.ts
CHANGED
|
@@ -8,7 +8,8 @@ export declare class Entity {
|
|
|
8
8
|
readonly parentChanged: Signal<unknown>;
|
|
9
9
|
readonly onRemove: Signal<unknown>;
|
|
10
10
|
private markRemoval;
|
|
11
|
-
private
|
|
11
|
+
private _detached;
|
|
12
|
+
get detached(): boolean;
|
|
12
13
|
constructor();
|
|
13
14
|
onBeforeRemove?(): Promise<void>;
|
|
14
15
|
private setParent;
|
package/lib/entity.js
CHANGED
|
@@ -7,9 +7,10 @@ export class Entity {
|
|
|
7
7
|
this.parentChanged = new Signal();
|
|
8
8
|
this.onRemove = new Signal();
|
|
9
9
|
this.markRemoval = false;
|
|
10
|
-
this.
|
|
10
|
+
this._detached = false;
|
|
11
11
|
this.id = idCounter++;
|
|
12
12
|
}
|
|
13
|
+
get detached() { return this._detached; }
|
|
13
14
|
setParent(parent) {
|
|
14
15
|
if (parent === this._parent) {
|
|
15
16
|
throw Error('same parent');
|
|
@@ -63,10 +64,10 @@ export class Entity {
|
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
async detach() {
|
|
66
|
-
if (this.
|
|
67
|
+
if (this._detached) {
|
|
67
68
|
throw new Error('entity already detached');
|
|
68
69
|
}
|
|
69
|
-
this.
|
|
70
|
+
this._detached = true;
|
|
70
71
|
if (this.parent) {
|
|
71
72
|
await this.parent.remove(this);
|
|
72
73
|
}
|
package/lib/entity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../src/entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE/C,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,MAAM,OAAO,MAAM;
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../src/entity.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/entity.ts
CHANGED
|
@@ -16,7 +16,8 @@ export class Entity {
|
|
|
16
16
|
readonly parentChanged = new Signal();
|
|
17
17
|
readonly onRemove = new Signal();
|
|
18
18
|
private markRemoval = false;
|
|
19
|
-
private
|
|
19
|
+
private _detached = false;
|
|
20
|
+
get detached(): boolean { return this._detached; }
|
|
20
21
|
|
|
21
22
|
constructor() {
|
|
22
23
|
this.id = idCounter++;
|
|
@@ -89,10 +90,10 @@ export class Entity {
|
|
|
89
90
|
}
|
|
90
91
|
|
|
91
92
|
async detach() {
|
|
92
|
-
if (this.
|
|
93
|
+
if (this._detached) {
|
|
93
94
|
throw new Error('entity already detached');
|
|
94
95
|
}
|
|
95
|
-
this.
|
|
96
|
+
this._detached = true;
|
|
96
97
|
// TODO: mark for detach and prevent another call, because this.gameEngine is set to undefined until next frame
|
|
97
98
|
if (this.parent) {
|
|
98
99
|
await this.parent.remove(this);
|