react-simple-game-engine 0.3.16 → 0.3.18

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,11 +4,13 @@ import { Scaler } from "./scaler";
4
4
  import { SimpleCamera } from "./simple-camera";
5
5
  declare type ItemWithPercent<I> = [I, number];
6
6
  declare type LastItem<I> = [I];
7
+ declare type SizeChangeListener = (x: number, y: number) => void;
7
8
  export declare type Collection<I> = [...ItemWithPercent<I>[], LastItem<I>];
8
9
  export declare class P5 extends p5 {
9
10
  running: boolean;
10
11
  scaler: Scaler;
11
12
  simpleCamera: SimpleCamera;
13
+ private readonly sizeChangeListeners;
12
14
  constructor(sketch: (p5: P5) => void);
13
15
  /**
14
16
  * Use this instead of mouseX
@@ -21,6 +23,9 @@ export declare class P5 extends p5 {
21
23
  */
22
24
  get realMouseY(): number;
23
25
  get isForeground(): boolean;
26
+ private emitSizeChangeEvent;
27
+ addSizeChangeListener(func: SizeChangeListener): () => void;
28
+ resizeCanvas(width: number, height: number): void;
24
29
  drawHandle(position: Point, onDraw: (p5: P5) => void): void;
25
30
  constrainMax(value: number, max: number): number;
26
31
  constrainMin(value: number, min: number): number;
@@ -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,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,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;IACxB,OAAO,UAAQ;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;gBAEf,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI;IAIpC;;;OAGG;IACH,IAAI,UAAU,WAIb;IAED;;;OAGG;IACH,IAAI,UAAU,WAIb;IAED,IAAI,YAAY,YAEf;IAED,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI;IAapD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAQvC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAQvC,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,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,aAAK,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACtC,aAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvB,aAAK,kBAAkB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAEzD,oBAAY,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnE,qBAAa,EAAG,SAAQ,EAAE;IACxB,OAAO,UAAQ;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;gBAEpD,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI;IAIpC;;;OAGG;IACH,IAAI,UAAU,WAIb;IAED;;;OAGG;IACH,IAAI,UAAU,WAIb;IAED,IAAI,YAAY,YAEf;IAED,OAAO,CAAC,mBAAmB;IAO3B,qBAAqB,CAAC,IAAI,EAAE,kBAAkB;IAW9C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK1C,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI;IAapD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAQvC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAQvC,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;CA+B9C"}
package/lib/classes/p5.js CHANGED
@@ -19,6 +19,7 @@ var P5 = /** @class */ (function (_super) {
19
19
  function P5(sketch) {
20
20
  var _this = _super.call(this, sketch) || this;
21
21
  _this.running = true;
22
+ _this.sizeChangeListeners = [];
22
23
  return _this;
23
24
  }
24
25
  Object.defineProperty(P5.prototype, "realMouseX", {
@@ -50,6 +51,27 @@ var P5 = /** @class */ (function (_super) {
50
51
  enumerable: false,
51
52
  configurable: true
52
53
  });
54
+ P5.prototype.emitSizeChangeEvent = function () {
55
+ var listeners = this.sizeChangeListeners;
56
+ for (var _i = 0, listeners_1 = listeners; _i < listeners_1.length; _i++) {
57
+ var listener = listeners_1[_i];
58
+ listener(this.width, this.height);
59
+ }
60
+ };
61
+ P5.prototype.addSizeChangeListener = function (func) {
62
+ var listeners = this.sizeChangeListeners;
63
+ listeners.push(func);
64
+ return function () {
65
+ var index = listeners.indexOf(func);
66
+ if (index > -1) {
67
+ listeners.splice(index, 1);
68
+ }
69
+ };
70
+ };
71
+ P5.prototype.resizeCanvas = function (width, height) {
72
+ _super.prototype.resizeCanvas.call(this, width, height);
73
+ this.emitSizeChangeEvent();
74
+ };
53
75
  P5.prototype.drawHandle = function (position, onDraw) {
54
76
  var camera = this.simpleCamera;
55
77
  this.push();
@@ -69,9 +69,9 @@ export declare abstract class Scene<UIP = any> {
69
69
  onSoundBackgroundOptionsChange(func: SoundOptionsChangeListener<SoundType.BACKGROUND>): () => void;
70
70
  onJoystickAction(func: JoystickActionListener): () => void;
71
71
  onEntityPropsChange<V = any>(name: string, func: EntityPropsChangeListener<V>): () => void;
72
- emitJoystickAction(data: JoystickAction): void;
73
- emitProcessStateChangeListener(isForeground: boolean): void;
74
- emitEntityPropsChange<V = any>(name: string, value: V): void;
72
+ emitJoystickActionEvent(data: JoystickAction): void;
73
+ emitProcessStateChangeEvent(isForeground: boolean): void;
74
+ emitEntityPropsChangeEvent<V = any>(name: string, value: V): void;
75
75
  onLoadAssetNotify(func: LoadAssetsListener): void;
76
76
  destructor(): void;
77
77
  switchToScene(tag: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/classes/scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/classes/scene.ts"],"names":[],"mappings":"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"}
@@ -212,21 +212,21 @@ var Scene = /** @class */ (function () {
212
212
  }
213
213
  };
214
214
  };
215
- Scene.prototype.emitJoystickAction = function (data) {
215
+ Scene.prototype.emitJoystickActionEvent = function (data) {
216
216
  var listeners = this.joystickActionListeners;
217
217
  for (var _i = 0, listeners_1 = listeners; _i < listeners_1.length; _i++) {
218
218
  var listener = listeners_1[_i];
219
219
  listener(data);
220
220
  }
221
221
  };
222
- Scene.prototype.emitProcessStateChangeListener = function (isForeground) {
222
+ Scene.prototype.emitProcessStateChangeEvent = function (isForeground) {
223
223
  var listeners = this.processStateChangeListeners;
224
224
  for (var _i = 0, listeners_2 = listeners; _i < listeners_2.length; _i++) {
225
225
  var listener = listeners_2[_i];
226
226
  listener(isForeground);
227
227
  }
228
228
  };
229
- Scene.prototype.emitEntityPropsChange = function (name, value) {
229
+ Scene.prototype.emitEntityPropsChangeEvent = function (name, value) {
230
230
  var listeners = this.entityPropsChangeListeners[name] || [];
231
231
  for (var _i = 0, listeners_3 = listeners; _i < listeners_3.length; _i++) {
232
232
  var listener = listeners_3[_i];
@@ -514,7 +514,7 @@ var Scene = /** @class */ (function () {
514
514
  Scene.prototype.listenNativeEvents = function () {
515
515
  var _this = this;
516
516
  function onVisibilitychange() {
517
- _this.emitProcessStateChangeListener(window.Renderer.isForeground);
517
+ _this.emitProcessStateChangeEvent(window.Renderer.isForeground);
518
518
  }
519
519
  window.document.addEventListener("visibilitychange", onVisibilitychange);
520
520
  this.nativeEventsUnsubscribes = function () {
@@ -1,6 +1,15 @@
1
+ declare type PositionChangeListener = (x: number, y: number) => void;
1
2
  export declare class SimpleCamera {
2
- x: number;
3
- y: number;
3
+ private _x;
4
+ private _y;
5
+ private readonly positionChangeListeners;
4
6
  constructor();
7
+ get x(): number;
8
+ get y(): number;
9
+ set x(_x: number);
10
+ set y(_y: number);
11
+ private emitPositionChangeEvent;
12
+ addPositionChangeListener(func: PositionChangeListener): () => void;
5
13
  }
14
+ export {};
6
15
  //# sourceMappingURL=simple-camera.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-camera.d.ts","sourceRoot":"","sources":["../../src/classes/simple-camera.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACvB,CAAC,EAAE,MAAM,CAAK;IACd,CAAC,EAAE,MAAM,CAAK;;CAGf"}
1
+ {"version":3,"file":"simple-camera.d.ts","sourceRoot":"","sources":["../../src/classes/simple-camera.ts"],"names":[],"mappings":"AAAA,aAAK,sBAAsB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAE7D,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAgC;;IAIxE,IAAI,CAAC,IAQK,MAAM,CANf;IAED,IAAI,CAAC,IASK,MAAM,CAPf;IAED,IAAI,CAAC,CAAC,EAAE,EAAE,MAAM,EAGf;IAED,IAAI,CAAC,CAAC,EAAE,EAAE,MAAM,EAGf;IAED,OAAO,CAAC,uBAAuB;IAO/B,yBAAyB,CAAC,IAAI,EAAE,sBAAsB;CAUvD"}
@@ -1,8 +1,48 @@
1
1
  var SimpleCamera = /** @class */ (function () {
2
2
  function SimpleCamera() {
3
- this.x = 0;
4
- this.y = 0;
3
+ this._x = 0;
4
+ this._y = 0;
5
+ this.positionChangeListeners = [];
5
6
  }
7
+ Object.defineProperty(SimpleCamera.prototype, "x", {
8
+ get: function () {
9
+ return this._x;
10
+ },
11
+ set: function (_x) {
12
+ this._x = _x;
13
+ this.emitPositionChangeEvent();
14
+ },
15
+ enumerable: false,
16
+ configurable: true
17
+ });
18
+ Object.defineProperty(SimpleCamera.prototype, "y", {
19
+ get: function () {
20
+ return this._y;
21
+ },
22
+ set: function (_y) {
23
+ this._y = _y;
24
+ this.emitPositionChangeEvent();
25
+ },
26
+ enumerable: false,
27
+ configurable: true
28
+ });
29
+ SimpleCamera.prototype.emitPositionChangeEvent = function () {
30
+ var listeners = this.positionChangeListeners;
31
+ for (var _i = 0, listeners_1 = listeners; _i < listeners_1.length; _i++) {
32
+ var listener = listeners_1[_i];
33
+ listener(this._x, this._y);
34
+ }
35
+ };
36
+ SimpleCamera.prototype.addPositionChangeListener = function (func) {
37
+ var listeners = this.positionChangeListeners;
38
+ listeners.push(func);
39
+ return function () {
40
+ var index = listeners.indexOf(func);
41
+ if (index > -1) {
42
+ listeners.splice(index, 1);
43
+ }
44
+ };
45
+ };
6
46
  return SimpleCamera;
7
47
  }());
8
48
  export { SimpleCamera };
package/lib/hooks/comp.js CHANGED
@@ -17,7 +17,7 @@ export function useScaleContainer() {
17
17
  var scaler = useContext(ScalerContext);
18
18
  var _ScalerContainer = useCallback(function (_a) {
19
19
  var children = _a.children;
20
- return (_jsx(ScalerContainer, __assign({ value: scaler.value, width: scaler.canvasSize.width, height: scaler.canvasSize.width }, { children: children })));
20
+ return (_jsx(ScalerContainer, __assign({ value: scaler.value, width: scaler.canvasSize.width, height: scaler.canvasSize.height }, { children: children })));
21
21
  }, [scaler]);
22
22
  return _ScalerContainer;
23
23
  }
@@ -24,7 +24,7 @@ export function MovementControl(_a) {
24
24
  var el = useMemo(function () {
25
25
  var onAction = function (e) {
26
26
  if (e.type === JoystickActionType.MOVE) {
27
- scene.emitJoystickAction({
27
+ scene.emitJoystickActionEvent({
28
28
  type: e.type,
29
29
  vector: Renderer.createVector(e.x, -e.y).normalize(),
30
30
  weight: e.distance / 100,
@@ -33,7 +33,7 @@ export function MovementControl(_a) {
33
33
  });
34
34
  }
35
35
  else {
36
- scene.emitJoystickAction({
36
+ scene.emitJoystickActionEvent({
37
37
  type: e.type,
38
38
  });
39
39
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-game-engine",
3
- "version": "0.3.16",
3
+ "version": "0.3.18",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib",