react-simple-game-engine 0.0.7 → 0.0.10

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.
@@ -31,5 +31,7 @@ export declare abstract class Entity {
31
31
  height: number;
32
32
  };
33
33
  onCollision(target: Entity): void;
34
+ onCollisionEnd(target: Entity): void;
35
+ onCollisionActive(target: Entity): void;
34
36
  }
35
37
  //# sourceMappingURL=entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/entity.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,UAAU,EACV,KAAK,EACN,MAAM,oBAAoB,CAAC;AAE5B,8BAAsB,MAAM;IAC1B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAsD;IAEzE,SAAgB,GAAG,EAAG,MAAM,CAAC;IACtB,MAAM,EAAG,MAAM,CAAC;IAEvB,SAAS,CAAC,eAAe,EAAG,eAAe,CAAC;IAC5C,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;;IAMxB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAGxB;IAED,IAAI,MAAM,IALS,MAAM,CAOxB;IAED,IAAI,QAAQ,kBAEX;IAED,IAAI,IAAI,eAEP;IAED,MAAM,CAAC,eAAe,EAAE,eAAe;IAKvC,QAAQ;IAER,UAAU,CACR,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACxC,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC;IAO3C,SAAS,CAAC,QAAQ,CAAC,YAAY,CAC7B,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,SAAS,EACpD,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,MAAM,CAAC,IAAI;IAEd,OAAO,CAAC,EACN,KAAK,EACL,SAAc,EACd,MAAM,EAAE,eAAe,EACvB,WAAgB,GACjB,EAAE,aAAa,CAAC,IAAI,CAAC;IA+BtB,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IACnD,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAI1C,MAAM;IAGN,QAAQ;IAER,IAAI;IAIJ,QAAQ,CAAC,0BAA0B,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAExE,WAAW,CAAC,MAAM,EAAE,MAAM;CAC3B"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/classes/entities/entity.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,UAAU,EACV,KAAK,EACN,MAAM,oBAAoB,CAAC;AAE5B,8BAAsB,MAAM;IAC1B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAsD;IAEzE,SAAgB,GAAG,EAAG,MAAM,CAAC;IACtB,MAAM,EAAG,MAAM,CAAC;IAEvB,SAAS,CAAC,eAAe,EAAG,eAAe,CAAC;IAC5C,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;;IAMxB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAGxB;IAED,IAAI,MAAM,IALS,MAAM,CAOxB;IAED,IAAI,QAAQ,kBAEX;IAED,IAAI,IAAI,eAEP;IAED,MAAM,CAAC,eAAe,EAAE,eAAe;IAKvC,QAAQ;IAER,UAAU,CACR,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACxC,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC;IAO3C,SAAS,CAAC,QAAQ,CAAC,YAAY,CAC7B,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,SAAS,EACpD,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,GACxC,MAAM,CAAC,IAAI;IAEd,OAAO,CAAC,EACN,KAAK,EACL,SAAc,EACd,MAAM,EAAE,eAAe,EACvB,WAAgB,GACjB,EAAE,aAAa,CAAC,IAAI,CAAC;IA+BtB,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IACnD,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAI1C,MAAM;IAGN,QAAQ;IAER,IAAI;IAIJ,QAAQ,CAAC,0BAA0B,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAExE,WAAW,CAAC,MAAM,EAAE,MAAM;IAC1B,cAAc,CAAC,MAAM,EAAE,MAAM;IAC7B,iBAAiB,CAAC,MAAM,EAAE,MAAM;CACjC"}
@@ -85,6 +85,8 @@ var Entity = /** @class */ (function () {
85
85
  this.sprite.draw();
86
86
  };
87
87
  Entity.prototype.onCollision = function (target) { };
88
+ Entity.prototype.onCollisionEnd = function (target) { };
89
+ Entity.prototype.onCollisionActive = function (target) { };
88
90
  return Entity;
89
91
  }());
90
92
  export { Entity };
@@ -8,6 +8,7 @@ export declare abstract class Scene<UIP = any> {
8
8
  private worldManagement;
9
9
  private _loadedAssets;
10
10
  private loadAssetsListener;
11
+ private assetsDelay;
11
12
  tag: string;
12
13
  manager: SceneManagement;
13
14
  readonly sessionId: string;
@@ -21,9 +22,11 @@ export declare abstract class Scene<UIP = any> {
21
22
  destructor(): void;
22
23
  setLoadAssetStatus(loadedAssets: boolean): void;
23
24
  switchToScene(tag: string): void;
24
- loadAssets(): Promise<void>;
25
+ loadAssets(delay?: number): Promise<void>;
25
26
  onLoadAssets(): Promise<void>;
26
27
  bootstrap(camera: Camera): void;
28
+ protected onDraw(): void;
29
+ protected onUpdate(): void;
27
30
  action(): void;
28
31
  }
29
32
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/classes/scene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,aAAK,kBAAkB,GAAG,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;AAE1D,8BAAsB,KAAK,CAAC,GAAG,GAAG,GAAG;IACnC,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,kBAAkB,CAAsB;IAEzC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAG,eAAe,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAA8C;aAC/D,aAAa,IAAI,cAAc,EAAE;;IAQjD,IAAI,EAAE,uBAGL;IAED,IAAI,OAAO,QAEV;IAED,SAAS,CAAC,UAAU;IAIpB,IAAI,YAAY,YAEf;IAED,iBAAiB,CAAC,IAAI,EAAE,kBAAkB;IAI1C,UAAU;IAIV,kBAAkB,CAAC,YAAY,EAAE,OAAO;IAKxC,aAAa,CAAC,GAAG,EAAE,MAAM;IAInB,UAAU;IAQV,YAAY;IAElB,SAAS,CAAC,MAAM,EAAE,MAAM;IAUxB,MAAM;CAIP"}
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/classes/scene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,aAAK,kBAAkB,GAAG,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;AAE1D,8BAAsB,KAAK,CAAC,GAAG,GAAG,GAAG;IACnC,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,WAAW,CAAa;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAG,eAAe,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAA8C;aAC/D,aAAa,IAAI,cAAc,EAAE;;IAQjD,IAAI,EAAE,uBAGL;IAED,IAAI,OAAO,QAEV;IAED,SAAS,CAAC,UAAU;IAIpB,IAAI,YAAY,YAEf;IAED,iBAAiB,CAAC,IAAI,EAAE,kBAAkB;IAI1C,UAAU;IAIV,kBAAkB,CAAC,YAAY,EAAE,OAAO;IAKxC,aAAa,CAAC,GAAG,EAAE,MAAM;IAInB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM;IAczB,YAAY;IAElB,SAAS,CAAC,MAAM,EAAE,MAAM;IAUxB,SAAS,CAAC,MAAM;IAChB,SAAS,CAAC,QAAQ;IAElB,MAAM;CAOP"}
@@ -35,8 +35,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  }
36
36
  };
37
37
  import { WorldManagement } from "./world-management";
38
+ import { tick } from "../utils";
38
39
  var Scene = /** @class */ (function () {
39
40
  function Scene() {
41
+ this.assetsDelay = 0;
40
42
  this.sessionId = "".concat(Math.random(), "-").concat(new Date().getTime());
41
43
  this.tag = this.constructor.tag;
42
44
  this.ui = this.constructor.ui;
@@ -81,16 +83,24 @@ var Scene = /** @class */ (function () {
81
83
  Scene.prototype.switchToScene = function (tag) {
82
84
  this.manager.gotoScene(tag);
83
85
  };
84
- Scene.prototype.loadAssets = function () {
86
+ Scene.prototype.loadAssets = function (delay) {
85
87
  return __awaiter(this, void 0, void 0, function () {
86
88
  return __generator(this, function (_a) {
87
89
  switch (_a.label) {
88
90
  case 0:
91
+ if (delay != null) {
92
+ this.assetsDelay = delay;
93
+ }
94
+ // if delay less than 0, it will wait forever
95
+ return [4 /*yield*/, tick(this.assetsDelay < 0 ? undefined : this.assetsDelay)];
96
+ case 1:
97
+ // if delay less than 0, it will wait forever
98
+ _a.sent();
89
99
  this.setLoadAssetStatus(false);
90
100
  return [4 /*yield*/, this.onLoadAssets().catch(function (err) {
91
101
  console.warn("Load assets fail", err.toString());
92
102
  })];
93
- case 1:
103
+ case 2:
94
104
  _a.sent();
95
105
  this.setLoadAssetStatus(true);
96
106
  return [2 /*return*/];
@@ -113,9 +123,13 @@ var Scene = /** @class */ (function () {
113
123
  this.worldManagement.addEntity(entity);
114
124
  }
115
125
  };
126
+ Scene.prototype.onDraw = function () { };
127
+ Scene.prototype.onUpdate = function () { };
116
128
  Scene.prototype.action = function () {
117
129
  this.worldManagement.update();
130
+ this.onUpdate();
118
131
  this.worldManagement.draw();
132
+ this.onDraw();
119
133
  };
120
134
  return Scene;
121
135
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"world-management.d.ts","sourceRoot":"","sources":["../../src/classes/world-management.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,MAAM,CAAU;;IAgBxB,UAAU;IAKV,SAAS,CAAC,MAAM,EAAE,MAAM;IAMxB,YAAY,CAAC,MAAM,EAAE,MAAM;IAK3B,MAAM;IAON,IAAI;CAML"}
1
+ {"version":3,"file":"world-management.d.ts","sourceRoot":"","sources":["../../src/classes/world-management.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,MAAM,CAAU;;IAsCxB,UAAU;IAKV,SAAS,CAAC,MAAM,EAAE,MAAM;IAMxB,YAAY,CAAC,MAAM,EAAE,MAAM;IAK3B,MAAM;IAON,IAAI;CAML"}
@@ -12,6 +12,24 @@ var WorldManagement = /** @class */ (function () {
12
12
  bodyB.entity.onCollision(bodyA.entity);
13
13
  }
14
14
  });
15
+ Events.on(this.engine, "collisionEnd", function (event) {
16
+ var pairs = event.pairs;
17
+ for (var _i = 0, pairs_2 = pairs; _i < pairs_2.length; _i++) {
18
+ var pair = pairs_2[_i];
19
+ var _a = pair, bodyA = _a.bodyA, bodyB = _a.bodyB;
20
+ bodyA.entity.onCollisionEnd(bodyB.entity);
21
+ bodyB.entity.onCollisionEnd(bodyA.entity);
22
+ }
23
+ });
24
+ Events.on(this.engine, "collisionActive", function (event) {
25
+ var pairs = event.pairs;
26
+ for (var _i = 0, pairs_3 = pairs; _i < pairs_3.length; _i++) {
27
+ var pair = pairs_3[_i];
28
+ var _a = pair, bodyA = _a.bodyA, bodyB = _a.bodyB;
29
+ bodyA.entity.onCollisionActive(bodyB.entity);
30
+ bodyB.entity.onCollisionActive(bodyA.entity);
31
+ }
32
+ });
15
33
  }
16
34
  WorldManagement.prototype.destructor = function () {
17
35
  World.clear(this.engine.world, false);
@@ -1,10 +1,14 @@
1
- /// <reference types="react" />
1
+ import { ComponentType, ReactNode } from "react";
2
2
  import { Scene } from "../classes/scene";
3
- declare type SceneRunnerProps = {
4
- current: Scene;
3
+ export declare type SceneRunnerPublicProps = {
5
4
  width: number;
6
5
  height: number;
6
+ assetsLoader?: ReactNode | ComponentType;
7
+ assetsDelay?: number;
8
+ };
9
+ declare type SceneRunnerProps = SceneRunnerPublicProps & {
10
+ current: Scene;
7
11
  };
8
- export declare function SceneRunner({ current, width, height }: SceneRunnerProps): JSX.Element;
12
+ export declare function SceneRunner({ assetsDelay, current, width, height, assetsLoader: AssetsLoader, }: SceneRunnerProps): JSX.Element;
9
13
  export {};
10
14
  //# sourceMappingURL=SceneRunner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SceneRunner.d.ts","sourceRoot":"","sources":["../../src/ui-components/SceneRunner.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,aAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,eAiCvE"}
1
+ {"version":3,"file":"SceneRunner.d.ts","sourceRoot":"","sources":["../../src/ui-components/SceneRunner.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,SAAS,EAGV,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,oBAAY,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,aAAK,gBAAgB,GAAG,sBAAsB,GAAG;IAC/C,OAAO,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,WAAW,EACX,OAAO,EACP,KAAK,EACL,MAAM,EACN,YAAY,EAAE,YAAY,GAC3B,EAAE,gBAAgB,eAwClB"}
@@ -10,19 +10,25 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- import { useEffect } from "react";
13
+ import { useEffect, useMemo, } from "react";
14
14
  import { Sketch } from "./Sketch";
15
15
  export function SceneRunner(_a) {
16
- var current = _a.current, width = _a.width, height = _a.height;
16
+ var assetsDelay = _a.assetsDelay, current = _a.current, width = _a.width, height = _a.height, AssetsLoader = _a.assetsLoader;
17
17
  useEffect(function () {
18
- current.loadAssets();
19
- }, [current]);
18
+ current.loadAssets(assetsDelay);
19
+ }, [current, assetsDelay]);
20
20
  var setup = function (camera) {
21
21
  current.bootstrap(camera);
22
22
  };
23
23
  var draw = function () {
24
24
  current.action();
25
25
  };
26
+ var assetsLoader = useMemo(function () {
27
+ if (typeof AssetsLoader === "function") {
28
+ return _jsx(AssetsLoader, {});
29
+ }
30
+ return (AssetsLoader !== null && AssetsLoader !== void 0 ? AssetsLoader : _jsx("div", { children: "Assets loading..." }));
31
+ }, [AssetsLoader]);
26
32
  return current.loadedAssets ? (_jsxs("div", __assign({ style: { width: width, height: height, position: "relative" } }, { children: [_jsx(Sketch, { width: width, height: height, onSetup: setup, onDraw: draw }), _jsx("div", __assign({ style: {
27
33
  position: "absolute",
28
34
  top: 0,
@@ -31,5 +37,5 @@ export function SceneRunner(_a) {
31
37
  right: 0,
32
38
  userSelect: "none",
33
39
  zIndex: 2,
34
- } }, { children: _jsx(current.UI, __assign({}, current.UIProps)) }))] }))) : (_jsx("div", { children: "Assets loading..." }));
40
+ } }, { children: _jsx(current.UI, __assign({}, current.UIProps)) }))] }))) : (assetsLoader);
35
41
  }
@@ -1,10 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import { SceneManagement } from "../classes/scene-management";
3
- declare type WorldViewProps = {
4
- list: ConstructorParameters<typeof SceneManagement>[0];
5
- width: number;
6
- height: number;
3
+ import { SceneRunnerPublicProps } from "./SceneRunner";
4
+ declare type SceneClasses = ConstructorParameters<typeof SceneManagement>[0];
5
+ declare type WorldViewProps = SceneRunnerPublicProps & {
6
+ list: SceneClasses;
7
7
  };
8
- export declare function ScenesProcess({ list, width, height }: WorldViewProps): JSX.Element;
8
+ export declare function ScenesProcess({ list, ...props }: WorldViewProps): JSX.Element;
9
9
  export {};
10
10
  //# sourceMappingURL=ScenesProcess.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScenesProcess.d.ts","sourceRoot":"","sources":["../../src/ui-components/ScenesProcess.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,aAAK,cAAc,GAAG;IACpB,IAAI,EAAE,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,cAAc,eA+BpE"}
1
+ {"version":3,"file":"ScenesProcess.d.ts","sourceRoot":"","sources":["../../src/ui-components/ScenesProcess.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAe,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEpE,aAAK,YAAY,GAAG,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAErE,aAAK,cAAc,GAAG,sBAAsB,GAAG;IAC7C,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,eA8B/D"}
@@ -1,9 +1,31 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
1
23
  import { jsx as _jsx } from "react/jsx-runtime";
2
24
  import { useEffect, useMemo, useState } from "react";
3
25
  import { SceneManagement } from "../classes/scene-management";
4
26
  import { SceneRunner } from "./SceneRunner";
5
27
  export function ScenesProcess(_a) {
6
- var list = _a.list, width = _a.width, height = _a.height;
28
+ var list = _a.list, props = __rest(_a, ["list"]);
7
29
  var sceneManagement = useMemo(function () {
8
30
  return new SceneManagement(list);
9
31
  }, [list]);
@@ -20,5 +42,5 @@ export function ScenesProcess(_a) {
20
42
  setLoadedAssets(isLoaded);
21
43
  });
22
44
  }, [currentScene]);
23
- return (_jsx(SceneRunner, { current: currentScene, width: width, height: height }, currentScene.sessionId));
45
+ return (_jsx(SceneRunner, __assign({ current: currentScene }, props), currentScene.sessionId));
24
46
  }
package/lib/utils.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Avatar, Sound } from "./export-types";
2
2
  export declare function createAssetImage(src: string): Promise<Avatar>;
3
3
  export declare function createAssetSound(src: string): Promise<Sound>;
4
+ export declare function tick(delay?: number): Promise<unknown>;
4
5
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAiB/C,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAInE;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAWlE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAiB/C,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAInE;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAWlE;AAED,wBAAsB,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,oBAQxC"}
package/lib/utils.js CHANGED
@@ -73,3 +73,17 @@ export function createAssetSound(src) {
73
73
  });
74
74
  });
75
75
  }
76
+ export function tick(delay) {
77
+ return __awaiter(this, void 0, void 0, function () {
78
+ return __generator(this, function (_a) {
79
+ return [2 /*return*/, new Promise(function (res) {
80
+ if (delay != null) {
81
+ setTimeout(res, delay);
82
+ }
83
+ else {
84
+ // wait forever
85
+ }
86
+ })];
87
+ });
88
+ });
89
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-game-engine",
3
- "version": "0.0.7",
3
+ "version": "0.0.10",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib",