react-simple-game-engine 0.2.15 → 0.2.17

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.
@@ -7,10 +7,6 @@ export declare class P5 extends p5 {
7
7
  scaler: Scaler;
8
8
  running: boolean;
9
9
  constructor(sketch: (p5: P5) => void, scaler: Scaler);
10
- get gameWidth(): number;
11
- get gameHeight(): number;
12
- get gameMouseX(): number;
13
- get gameMouseY(): number;
14
10
  get isForeground(): boolean;
15
11
  choose<I = any>(collection: Collection<I>): I;
16
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"p5.d.ts","sourceRoot":"","sources":["../../src/classes/p5.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,aAAK,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACtC,aAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEvB,oBAAY,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnE,qBAAa,EAAG,SAAQ,EAAE;IAGqB,MAAM,EAAE,MAAM;IAF3D,OAAO,UAAQ;gBAEH,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,EAAS,MAAM,EAAE,MAAM;IAK3D,IAAI,SAAS,WAEZ;IAED,IAAI,UAAU,WAEb;IAED,IAAI,UAAU,WAEb;IAED,IAAI,UAAU,WAEb;IAED,IAAI,YAAY,YAEf;IAED,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;CA+B9C"}
1
+ {"version":3,"file":"p5.d.ts","sourceRoot":"","sources":["../../src/classes/p5.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,aAAK,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACtC,aAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEvB,oBAAY,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnE,qBAAa,EAAG,SAAQ,EAAE;IAGqB,MAAM,EAAE,MAAM;IAF3D,OAAO,UAAQ;gBAEH,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,EAAS,MAAM,EAAE,MAAM;IAK3D,IAAI,YAAY,YAEf;IAED,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;CA+B9C"}
package/lib/classes/p5.js CHANGED
@@ -23,34 +23,6 @@ var P5 = /** @class */ (function (_super) {
23
23
  window.Renderer = _this;
24
24
  return _this;
25
25
  }
26
- Object.defineProperty(P5.prototype, "gameWidth", {
27
- get: function () {
28
- return this.scaler.gameSize.width;
29
- },
30
- enumerable: false,
31
- configurable: true
32
- });
33
- Object.defineProperty(P5.prototype, "gameHeight", {
34
- get: function () {
35
- return this.scaler.gameSize.height;
36
- },
37
- enumerable: false,
38
- configurable: true
39
- });
40
- Object.defineProperty(P5.prototype, "gameMouseX", {
41
- get: function () {
42
- return (this.mouseX - this.scaler.deltaOfScaleForUI.x) / this.scaler.value;
43
- },
44
- enumerable: false,
45
- configurable: true
46
- });
47
- Object.defineProperty(P5.prototype, "gameMouseY", {
48
- get: function () {
49
- return (this.mouseY - this.scaler.deltaOfScaleForUI.y) / this.scaler.value;
50
- },
51
- enumerable: false,
52
- configurable: true
53
- });
54
26
  Object.defineProperty(P5.prototype, "isForeground", {
55
27
  get: function () {
56
28
  return window.document.visibilityState === "visible";
@@ -1 +1 @@
1
- {"version":3,"file":"particle.d.ts","sourceRoot":"","sources":["../../src/classes/particle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,oBAAY,qBAAqB,GAAG;IAClC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,qBAAa,QACX,SAAQ,EAAE,CAAC,MACX,YAAW,UAAU,CAAC,qBAAqB,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAsC;IACjD,OAAO,CAAC,GAAG,CAAsC;IACjD,OAAO,CAAC,KAAK,CAAa;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAmB;IAC/B,IAAI,EAAE,MAAM,CAAK;IACjB,cAAc,EAAE,MAAM,CAAiB;IAE9C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,SAAS,CAAa;IAE9B,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAG5B;IAED,IAAI,QAAQ,IALW,MAAM,CAO5B;IAED,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,qBAAqB;IAOjD,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM;IAI3B,MAAM;IAIN,MAAM;IAQN,IAAI;IAuCJ,MAAM,CAAC,CAAC,EAAE,KAAK;CAGhB"}
1
+ {"version":3,"file":"particle.d.ts","sourceRoot":"","sources":["../../src/classes/particle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,oBAAY,qBAAqB,GAAG;IAClC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,qBAAa,QACX,SAAQ,EAAE,CAAC,MACX,YAAW,UAAU,CAAC,qBAAqB,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAsC;IACjD,OAAO,CAAC,GAAG,CAAsC;IACjD,OAAO,CAAC,KAAK,CAAa;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAmB;IAC/B,IAAI,EAAE,MAAM,CAAK;IACjB,cAAc,EAAE,MAAM,CAAiB;IAE9C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,SAAS,CAAa;IAE9B,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAG5B;IAED,IAAI,QAAQ,IALW,MAAM,CAO5B;IAED,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,qBAAqB;IAOjD,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM;IAI3B,MAAM;IAIN,MAAM;IAQN,IAAI;IAoCJ,MAAM,CAAC,CAAC,EAAE,KAAK;CAGhB"}
@@ -81,10 +81,9 @@ var Particle = /** @class */ (function (_super) {
81
81
  };
82
82
  Particle.prototype.draw = function () {
83
83
  Renderer.push();
84
- Renderer.noStroke();
85
- var deltaOfScale = Renderer.scaler.deltaOfScale;
86
- Renderer.translate(this.x - this.camera.x + deltaOfScale.x, this.y - this.camera.y + deltaOfScale.y);
84
+ Renderer.translate(this.x - this.camera.x, this.y - this.camera.y);
87
85
  Renderer.rotate(this.angle);
86
+ Renderer.noStroke();
88
87
  var color = __spreadArray([], this.color, true);
89
88
  var alpha = Renderer.map(this.lifetimeRemain, 0, this.lifetime, 0, 255);
90
89
  color[3] = alpha;
@@ -1,29 +1,15 @@
1
1
  import { LayoutMode } from "../export-enums";
2
2
  import { Size } from "../export-types";
3
3
  export declare class Scaler {
4
+ private readonly _windowSize;
4
5
  private readonly _canvasSize;
5
- private readonly _gameSize;
6
6
  private _layoutMode;
7
7
  private _value;
8
- private _deltaOfScale;
9
- private _deltaOfScaleForUI;
10
- constructor(_canvasSize: Size, _gameSize: Size, _layoutMode: LayoutMode);
11
- get deltaOfScaleForUI(): {
12
- x: number;
13
- y: number;
14
- };
15
- get deltaOfScale(): {
16
- x: number;
17
- y: number;
18
- };
8
+ constructor(_windowSize: Size, _canvasSize: Size, _layoutMode: LayoutMode);
19
9
  get value(): number;
20
- get gameSize(): Size;
21
- get canvasSize(): Size;
22
10
  get layoutMode(): LayoutMode;
23
11
  private get scaledSize();
24
- private updateDeltaOfScale;
25
- private updateDeltaOfScaleForUI;
26
- set gameSize(_gameSize: Size);
12
+ set windowSize(_windowSize: Size);
27
13
  set canvasSize(_canvasSize: Size);
28
14
  set layoutMode(_layoutMode: LayoutMode);
29
15
  private update;
@@ -1 +1 @@
1
- {"version":3,"file":"scaler.d.ts","sourceRoot":"","sources":["../../src/classes/scaler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAGvC,qBAAa,MAAM;IAKf,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,WAAW;IANrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,kBAAkB,CAA2B;gBAElC,WAAW,EAAE,IAAI,EACjB,SAAS,EAAE,IAAI,EACxB,WAAW,EAAE,UAAU;IAKjC,IAAI,iBAAiB;;;MAEpB;IAED,IAAI,YAAY;;;MAEf;IAED,IAAI,KAAK,WAER;IAED,IAAI,QAAQ,IAuCY,IAAI,CArC3B;IAED,IAAI,UAAU,IAwCc,IAAI,CAtC/B;IAED,IAAI,UAAU,IAyCc,UAAU,CAvCrC;IAED,OAAO,KAAK,UAAU,GAKrB;IAED,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,uBAAuB;IAU/B,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,EAG3B;IAED,IAAI,UAAU,CAAC,WAAW,EAAE,IAAI,EAG/B;IAED,IAAI,UAAU,CAAC,WAAW,EAAE,UAAU,EAGrC;IAED,OAAO,CAAC,MAAM;CAkBf"}
1
+ {"version":3,"file":"scaler.d.ts","sourceRoot":"","sources":["../../src/classes/scaler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAGvC,qBAAa,MAAM;IAGf,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,WAAW;IAJrB,OAAO,CAAC,MAAM,CAAS;gBAEJ,WAAW,EAAE,IAAI,EACjB,WAAW,EAAE,IAAI,EAC1B,WAAW,EAAE,UAAU;IAKjC,IAAI,KAAK,WAER;IAED,IAAI,UAAU,IAqBc,UAAU,CAnBrC;IAED,OAAO,KAAK,UAAU,GAKrB;IAED,IAAI,UAAU,CAAC,WAAW,EAAE,IAAI,EAG/B;IAED,IAAI,UAAU,CAAC,WAAW,EAAE,IAAI,EAG/B;IAED,IAAI,UAAU,CAAC,WAAW,EAAE,UAAU,EAGrC;IAED,OAAO,CAAC,MAAM;CAef"}
@@ -1,26 +1,12 @@
1
1
  import { LayoutMode } from "../export-enums";
2
2
  import { copyProperties } from "../utils";
3
3
  var Scaler = /** @class */ (function () {
4
- function Scaler(_canvasSize, _gameSize, _layoutMode) {
4
+ function Scaler(_windowSize, _canvasSize, _layoutMode) {
5
+ this._windowSize = _windowSize;
5
6
  this._canvasSize = _canvasSize;
6
- this._gameSize = _gameSize;
7
7
  this._layoutMode = _layoutMode;
8
8
  this.update();
9
9
  }
10
- Object.defineProperty(Scaler.prototype, "deltaOfScaleForUI", {
11
- get: function () {
12
- return this._deltaOfScaleForUI;
13
- },
14
- enumerable: false,
15
- configurable: true
16
- });
17
- Object.defineProperty(Scaler.prototype, "deltaOfScale", {
18
- get: function () {
19
- return this._deltaOfScale;
20
- },
21
- enumerable: false,
22
- configurable: true
23
- });
24
10
  Object.defineProperty(Scaler.prototype, "value", {
25
11
  get: function () {
26
12
  return this._value;
@@ -28,86 +14,60 @@ var Scaler = /** @class */ (function () {
28
14
  enumerable: false,
29
15
  configurable: true
30
16
  });
31
- Object.defineProperty(Scaler.prototype, "gameSize", {
17
+ Object.defineProperty(Scaler.prototype, "layoutMode", {
32
18
  get: function () {
33
- return this._gameSize;
19
+ return this._layoutMode;
34
20
  },
35
- set: function (_gameSize) {
36
- copyProperties(this._gameSize, _gameSize);
21
+ set: function (_layoutMode) {
22
+ this._layoutMode = _layoutMode;
37
23
  this.update();
38
24
  },
39
25
  enumerable: false,
40
26
  configurable: true
41
27
  });
42
- Object.defineProperty(Scaler.prototype, "canvasSize", {
28
+ Object.defineProperty(Scaler.prototype, "scaledSize", {
43
29
  get: function () {
44
- return this._canvasSize;
45
- },
46
- set: function (_canvasSize) {
47
- copyProperties(this._canvasSize, _canvasSize);
48
- this.update();
30
+ return {
31
+ width: this._canvasSize.width * this._value,
32
+ height: this._canvasSize.height * this._value,
33
+ };
49
34
  },
50
35
  enumerable: false,
51
36
  configurable: true
52
37
  });
53
- Object.defineProperty(Scaler.prototype, "layoutMode", {
54
- get: function () {
55
- return this._layoutMode;
56
- },
57
- set: function (_layoutMode) {
58
- this._layoutMode = _layoutMode;
38
+ Object.defineProperty(Scaler.prototype, "windowSize", {
39
+ set: function (_windowSize) {
40
+ copyProperties(this._windowSize, _windowSize);
59
41
  this.update();
60
42
  },
61
43
  enumerable: false,
62
44
  configurable: true
63
45
  });
64
- Object.defineProperty(Scaler.prototype, "scaledSize", {
65
- get: function () {
66
- return {
67
- width: this._gameSize.width * this._value,
68
- height: this._gameSize.height * this._value,
69
- };
46
+ Object.defineProperty(Scaler.prototype, "canvasSize", {
47
+ set: function (_canvasSize) {
48
+ copyProperties(this._canvasSize, _canvasSize);
49
+ this.update();
70
50
  },
71
51
  enumerable: false,
72
52
  configurable: true
73
53
  });
74
- Scaler.prototype.updateDeltaOfScale = function () {
75
- var _scaleSize = this.scaledSize;
76
- var deltaW = Math.abs(this._canvasSize.width - _scaleSize.width);
77
- var deltaH = Math.abs(this._canvasSize.height - _scaleSize.height);
78
- this._deltaOfScale = {
79
- x: deltaW / this._value / 2,
80
- y: deltaH / this._value / 2,
81
- };
82
- };
83
- Scaler.prototype.updateDeltaOfScaleForUI = function () {
84
- var _scaleSize = this.scaledSize;
85
- var deltaW = Math.abs(this._canvasSize.width - _scaleSize.width);
86
- var deltaH = Math.abs(this._canvasSize.height - _scaleSize.height);
87
- this._deltaOfScaleForUI = {
88
- x: deltaW / 2,
89
- y: deltaH / 2,
90
- };
91
- };
92
54
  Scaler.prototype.update = function () {
93
55
  if (this._layoutMode === LayoutMode.LANDSCAPE) {
94
- if (this._canvasSize.width >= this._canvasSize.height) {
95
- this._value = this._canvasSize.width / this._gameSize.width;
56
+ if (this._windowSize.width >= this._windowSize.height) {
57
+ this._value = this._windowSize.width / this._canvasSize.width;
96
58
  }
97
59
  else {
98
- this._value = this._canvasSize.height / this._gameSize.height;
60
+ this._value = this._windowSize.height / this._canvasSize.height;
99
61
  }
100
62
  }
101
63
  else {
102
- if (this._canvasSize.height >= this._canvasSize.width) {
103
- this._value = this._canvasSize.width / this._gameSize.width;
64
+ if (this._windowSize.height >= this._windowSize.width) {
65
+ this._value = this._windowSize.width / this._canvasSize.width;
104
66
  }
105
67
  else {
106
- this._value = this._canvasSize.height / this._gameSize.height;
68
+ this._value = this._windowSize.height / this._canvasSize.height;
107
69
  }
108
70
  }
109
- this.updateDeltaOfScale();
110
- this.updateDeltaOfScaleForUI();
111
71
  };
112
72
  return Scaler;
113
73
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../src/classes/sprites/sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,oBAAY,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;AAE3D,oBAAY,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI;IAC1D,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC;AAEF,8BAAsB,MAAM,CAAC,UAAU,SAAS,UAAU;IACjD,MAAM,EAAE,UAAU,CAAC;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,UAAU,CAAoC;IAEtD,IAAI,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAGvC;IAED,IAAI,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC,CAErC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAKxB;IAED,IAAI,MAAM,IAPS,MAAM,CASxB;IAED,IAAI,KAAK,WAER;IAED,IAAI,MAAM,WAET;IAED,IAAI;IAeJ,QAAQ,CAAC,MAAM,IAAI,IAAI;IAEvB,OAAO,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC;CAexC"}
1
+ {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../src/classes/sprites/sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,oBAAY,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;AAE3D,oBAAY,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI;IAC1D,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC;AAEF,8BAAsB,MAAM,CAAC,UAAU,SAAS,UAAU;IACjD,MAAM,EAAE,UAAU,CAAC;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,UAAU,CAAoC;IAEtD,IAAI,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAGvC;IAED,IAAI,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC,CAErC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAKxB;IAED,IAAI,MAAM,IAPS,MAAM,CASxB;IAED,IAAI,KAAK,WAER;IAED,IAAI,MAAM,WAET;IAED,IAAI;IAcJ,QAAQ,CAAC,MAAM,IAAI,IAAI;IAEvB,OAAO,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC;CAexC"}
@@ -43,10 +43,9 @@ var Sprite = /** @class */ (function () {
43
43
  Sprite.prototype.draw = function () {
44
44
  var _a = this.entity, body = _a.body, position = _a.position, camera = _a.camera;
45
45
  Renderer.push();
46
- Renderer.noStroke();
47
- var deltaOfScale = Renderer.scaler.deltaOfScale;
48
- Renderer.translate(position.x - camera.x + deltaOfScale.x, position.y - camera.y + deltaOfScale.y);
46
+ Renderer.translate(position.x - camera.x, position.y - camera.y);
49
47
  Renderer.rotate(body.angle);
48
+ Renderer.noStroke();
50
49
  this.onDraw();
51
50
  Renderer.pop();
52
51
  };
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from "react";
2
+ declare type ScalerContainerProps = {
3
+ width: number;
4
+ height: number;
5
+ value: number;
6
+ children: ReactNode;
7
+ };
8
+ export declare function ScalerContainer({ width, height, value, children, }: ScalerContainerProps): JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=scaler-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaler-container.d.ts","sourceRoot":"","sources":["../../src/ui-components/scaler-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,aAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,MAAM,EACN,KAAK,EACL,QAAQ,GACT,EAAE,oBAAoB,eA0BtB"}
@@ -0,0 +1,30 @@
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
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ export function ScalerContainer(_a) {
14
+ var width = _a.width, height = _a.height, value = _a.value, children = _a.children;
15
+ return (_jsx("div", __assign({ style: {
16
+ width: "100%",
17
+ height: "100%",
18
+ position: "relative",
19
+ top: 0,
20
+ left: 0,
21
+ display: "flex",
22
+ alignItems: "center",
23
+ justifyContent: "center",
24
+ } }, { children: _jsx("div", __assign({ style: {
25
+ width: width,
26
+ height: height,
27
+ transform: "scale(".concat(value, ")"),
28
+ transformOrigin: "left top",
29
+ } }, { children: children })) })));
30
+ }
@@ -8,10 +8,11 @@ export declare type SceneRunnerPublicProps = {
8
8
  assetsDelay?: number;
9
9
  assetsFailBehavior?: AssetsFailBehavior;
10
10
  layoutMode?: LayoutMode;
11
+ voidSpace?: ReactNode;
11
12
  };
12
13
  declare type SceneRunnerProps = SceneRunnerPublicProps & {
13
14
  current: Scene;
14
15
  };
15
- export declare function SceneRunner({ width, height, current, layoutMode, assetsDelay, assetsFailBehavior, assetsLoader: AssetsLoader, }: SceneRunnerProps): JSX.Element;
16
+ export declare function SceneRunner({ width, height, current, layoutMode, voidSpace, assetsDelay, assetsFailBehavior, assetsLoader: AssetsLoader, }: SceneRunnerProps): JSX.Element;
16
17
  export {};
17
18
  //# sourceMappingURL=scene-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-runner.d.ts","sourceRoot":"","sources":["../../src/ui-components/scene-runner.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,SAAS,EAKV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAK7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,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;IACrB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,aAAK,gBAAgB,GAAG,sBAAsB,GAAG;IAC/C,OAAO,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,MAAM,EACN,OAAO,EACP,UAAiC,EAEjC,WAAW,EACX,kBAAkB,EAClB,YAAY,EAAE,YAAY,GAC3B,EAAE,gBAAgB,eA2IlB"}
1
+ {"version":3,"file":"scene-runner.d.ts","sourceRoot":"","sources":["../../src/ui-components/scene-runner.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,SAAS,EAKV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAK7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,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;IACrB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,aAAK,gBAAgB,GAAG,sBAAsB,GAAG;IAC/C,OAAO,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,MAAM,EACN,OAAO,EACP,UAAiC,EAEjC,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,YAAY,EAAE,YAAY,GAC3B,EAAE,gBAAgB,eAmJlB"}
@@ -14,25 +14,26 @@ import { useEffect, useMemo, useRef, useState, } from "react";
14
14
  import { Sketch } from "./sketch";
15
15
  import { useWindowSize } from "../utils";
16
16
  import { LayoutMode } from "../export-enums";
17
+ import { ScalerContainer } from "./scaler-container";
17
18
  import { Scaler } from "../classes/scaler";
18
19
  export function SceneRunner(_a) {
19
20
  var width = _a.width, height = _a.height, current = _a.current, _b = _a.layoutMode, layoutMode = _b === void 0 ? LayoutMode.LANDSCAPE : _b,
20
21
  //
21
- assetsDelay = _a.assetsDelay, assetsFailBehavior = _a.assetsFailBehavior, AssetsLoader = _a.assetsLoader;
22
+ voidSpace = _a.voidSpace, assetsDelay = _a.assetsDelay, assetsFailBehavior = _a.assetsFailBehavior, AssetsLoader = _a.assetsLoader;
22
23
  var windowSize = useWindowSize();
23
24
  var refScaler = useRef(new Scaler(windowSize, { width: width, height: height }, layoutMode));
24
25
  var _c = useState(false), isBootDone = _c[0], setBootDone = _c[1];
25
26
  useMemo(function () {
26
- if (window.Renderer) {
27
- window.Renderer.resizeCanvas(windowSize.width, windowSize.height);
28
- }
29
27
  refScaler.current.canvasSize = {
30
28
  width: windowSize.width,
31
29
  height: windowSize.height,
32
30
  };
33
31
  }, [windowSize]);
34
32
  useMemo(function () {
35
- refScaler.current.gameSize = {
33
+ if (window.Renderer) {
34
+ window.Renderer.resizeCanvas(width, height);
35
+ }
36
+ refScaler.current.canvasSize = {
36
37
  width: width,
37
38
  height: height,
38
39
  };
@@ -70,31 +71,35 @@ export function SceneRunner(_a) {
70
71
  msUserSelect: "none",
71
72
  userSelect: "none",
72
73
  textSizeAdjust: "none",
73
- } }, { children: [current.loadedAssets && (_jsx(Sketch, { onSetup: setup, onDraw: draw, scaler: refScaler.current })), _jsx("div", __assign({ style: {
74
+ } }, { children: [_jsx("div", __assign({ style: {
75
+ position: "absolute",
76
+ top: 0,
77
+ left: 0,
78
+ width: "100%",
79
+ height: "100%",
80
+ zIndex: -1,
81
+ backgroundColor: "rgb(41,41,41)",
82
+ } }, { children: voidSpace })), _jsx(ScalerContainer, __assign({ value: refScaler.current.value, width: width, height: height }, { children: current.loadedAssets && (
83
+ // canvas
84
+ _jsx(Sketch, { onSetup: setup, onDraw: draw, scaler: refScaler.current })) })), _jsx("div", __assign({ style: {
74
85
  position: "absolute",
75
86
  top: 0,
76
87
  left: 0,
77
88
  width: "100%",
78
89
  height: "100%",
79
90
  zIndex: 2,
80
- } }, { children: _jsx("div", __assign({ style: __assign({ width: width, height: height, transform: "scale(".concat(refScaler.current.value, ")"), transformOrigin: "left top", position: "relative" }, (function () {
81
- var deltaOfScaleForUI = refScaler.current.deltaOfScaleForUI;
82
- return { left: deltaOfScaleForUI.x, top: deltaOfScaleForUI.y };
83
- })()) }, { children: !current.loadedAssets ? (_jsx(_Fragment, { children: current.renderAssetsFail
84
- ? (function () {
85
- var rendered = current.renderAssetsFail();
86
- if (Array.isArray(rendered)) {
87
- return (_jsx("div", __assign({ style: {
88
- backgroundColor: "#f28181a1",
89
- minHeight: 100,
90
- padding: 10,
91
- color: "#000",
92
- } }, { children: rendered.map(function (item, i) { return (_jsxs("p", { children: ["- ", item.type, ": ", item.detail] }, i)); }) })));
93
- }
94
- return rendered;
95
- })()
96
- : assetsLoader })) : (_jsx(_Fragment, { children: isBootDone ? (_jsx("div", __assign({ style: {
97
- width: "100%",
98
- height: "100%",
99
- } }, { children: _jsx(current.UI, __assign({ scene: current }, current.UIProps)) }))) : (_jsx("div", {})) })) })) }))] })));
91
+ } }, { children: !current.loadedAssets ? (_jsx(_Fragment, { children: current.renderAssetsFail
92
+ ? (function () {
93
+ var rendered = current.renderAssetsFail();
94
+ if (Array.isArray(rendered)) {
95
+ return (_jsx("div", __assign({ style: {
96
+ backgroundColor: "#f28181a1",
97
+ minHeight: 100,
98
+ padding: 10,
99
+ color: "#000",
100
+ } }, { children: rendered.map(function (item, i) { return (_jsxs("p", { children: ["- ", item.type, ": ", item.detail] }, i)); }) })));
101
+ }
102
+ return rendered;
103
+ })()
104
+ : assetsLoader })) : (_jsx(_Fragment, { children: isBootDone ? (_jsx(ScalerContainer, __assign({ value: refScaler.current.value, height: height, width: width }, { children: _jsx(current.UI, __assign({ scene: current }, current.UIProps)) }))) : (_jsx("div", {})) })) }))] })));
100
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sketch.d.ts","sourceRoot":"","sources":["../../src/ui-components/sketch.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,aAAK,WAAW,GAAG;IACjB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,WAAW,eA0CzE"}
1
+ {"version":3,"file":"sketch.d.ts","sourceRoot":"","sources":["../../src/ui-components/sketch.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,aAAK,WAAW,GAAG;IACjB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,WAAW,eA+CzE"}
@@ -21,7 +21,6 @@ export function Sketch(_a) {
21
21
  onSetup(camera);
22
22
  };
23
23
  s.draw = function () {
24
- s.scale(scaler.value);
25
24
  s.imageMode(s.CENTER);
26
25
  s.rectMode(s.CENTER);
27
26
  onDraw();
@@ -33,5 +32,8 @@ export function Sketch(_a) {
33
32
  };
34
33
  // eslint-disable-next-line
35
34
  }, []);
36
- return (_jsx("div", { style: { height: scaler.canvasSize.height }, ref: refContainer }));
35
+ return (_jsx("div", { style: {
36
+ height: scaler.canvasSize.height,
37
+ width: scaler.canvasSize.width,
38
+ }, ref: refContainer }));
37
39
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-game-engine",
3
- "version": "0.2.15",
3
+ "version": "0.2.17",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib",