react-simple-game-engine 0.0.58 → 0.0.61

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.
@@ -0,0 +1,9 @@
1
+ import p5 from "p5";
2
+ declare type ItemWithPercent<I> = [I, number];
3
+ declare type LastItem<I> = [I];
4
+ export declare type Collection<I> = [...ItemWithPercent<I>[], LastItem<I>];
5
+ export declare class P5 extends p5 {
6
+ choose<I = any>(collection: Collection<I>): I;
7
+ }
8
+ export {};
9
+ //# sourceMappingURL=p5.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p5.d.ts","sourceRoot":"","sources":["../../src/classes/p5.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,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,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;CAgC9C"}
@@ -0,0 +1,56 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ import p5 from "p5";
17
+ var P5 = /** @class */ (function (_super) {
18
+ __extends(P5, _super);
19
+ function P5() {
20
+ return _super !== null && _super.apply(this, arguments) || this;
21
+ }
22
+ P5.prototype.choose = function (collection) {
23
+ var lastItem = collection[collection.length - 1];
24
+ var restItems = collection.slice(0, collection.length - 1);
25
+ var totalPercentsOfRestItems = restItems.reduce(function (t, item) {
26
+ return t + item[1];
27
+ }, 0);
28
+ if (totalPercentsOfRestItems > 100) {
29
+ var overmax = totalPercentsOfRestItems - 100;
30
+ var avg = 100 / restItems.length;
31
+ for (var _i = 0, restItems_1 = restItems; _i < restItems_1.length; _i++) {
32
+ var item = restItems_1[_i];
33
+ if (item[1] > avg) {
34
+ item[1] -= overmax;
35
+ }
36
+ }
37
+ totalPercentsOfRestItems = 100;
38
+ }
39
+ lastItem[1] = 100 - totalPercentsOfRestItems;
40
+ var items = [];
41
+ var _loop_1 = function (item, percent) {
42
+ Array.from({ length: Math.round(percent) }).forEach(function (_, i) {
43
+ items.push(item);
44
+ });
45
+ };
46
+ for (var _a = 0, collection_1 = collection; _a < collection_1.length; _a++) {
47
+ var _b = collection_1[_a], item = _b[0], percent = _b[1];
48
+ _loop_1(item, percent);
49
+ }
50
+ items = this.shuffle(items);
51
+ console.log("Collection generated: ", items);
52
+ return this.random(items);
53
+ };
54
+ return P5;
55
+ }(p5));
56
+ export { P5 };
@@ -1,11 +1,10 @@
1
1
  import { Entity } from "./classes/entities/entity";
2
2
  import { Sprite } from "./classes/sprites/sprite";
3
- import type p5 from "p5";
4
3
  import type { Body, IChamferableBodyDefinition } from "matter-js";
5
4
  import { Initialler } from "./export-interfaces";
6
- export declare type P5 = p5;
5
+ export type { Collection } from "./classes/p5";
7
6
  export declare type Sound = HTMLAudioElement;
8
- export declare type Avatar = ReturnType<P5["loadImage"]>;
7
+ export declare type Avatar = ReturnType<import("./classes/p5").P5["loadImage"]>;
9
8
  export declare type Color = [number, number, number, number?];
10
9
  export declare type EntityPrepare<E extends Entity> = EntityInitial<E>;
11
10
  export declare type MasterBody = Body & {
@@ -1 +1 @@
1
- {"version":3,"file":"export-types.d.ts","sourceRoot":"","sources":["../src/export-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,oBAAY,EAAE,GAAG,EAAE,CAAC;AAEpB,oBAAY,KAAK,GAAG,gBAAgB,CAAC;AACrC,oBAAY,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACjD,oBAAY,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtD,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AAC/D,oBAAY,UAAU,GAAG,IAAI,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,WAAW,CAAC,EAAE,0BAA0B,CAAC;CAC1C,CAAC;AAEF,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;IAE5C,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,2BAA2B,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,oBAAY,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IACpD;IACE,QAAQ,CAAC,CAAC;CACX,GACD,CAAC;IAAE,QAAQ,CAAC,CAAA;CAAE,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"export-types.d.ts","sourceRoot":"","sources":["../src/export-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,oBAAY,KAAK,GAAG,gBAAgB,CAAC;AACrC,oBAAY,MAAM,GAAG,UAAU,CAAC,OAAO,cAAc,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACxE,oBAAY,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtD,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AAC/D,oBAAY,UAAU,GAAG,IAAI,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,WAAW,CAAC,EAAE,0BAA0B,CAAC;CAC1C,CAAC;AAEF,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;IAE5C,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,2BAA2B,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,oBAAY,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IACpD;IACE,QAAQ,CAAC,CAAC;CACX,GACD,CAAC;IAAE,QAAQ,CAAC,CAAA;CAAE,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { P5 } from "./classes/p5";
1
2
  export { createAssetImage, createAssetSound } from "./utils";
2
3
  export { ParticleSystem } from "./classes/particle-system";
3
4
  export { Particle } from "./classes/particle";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,WAAW,CAAC"}
package/lib/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export { P5 } from "./classes/p5";
1
2
  export { createAssetImage, createAssetSound } from "./utils";
2
3
  export { ParticleSystem } from "./classes/particle-system";
3
4
  export { Particle } from "./classes/particle";
@@ -1 +1 @@
1
- {"version":3,"file":"Sketch.d.ts","sourceRoot":"","sources":["../../src/ui-components/Sketch.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,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,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,MAAM,EACN,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,WAAW,eAgDb"}
1
+ {"version":3,"file":"Sketch.d.ts","sourceRoot":"","sources":["../../src/ui-components/Sketch.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,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,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,MAAM,EACN,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,WAAW,eAgDb"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import p5 from "p5";
3
2
  import { useEffect, useRef } from "react";
4
3
  import { Camera } from "../classes/camera";
4
+ import { P5 } from "../classes/p5";
5
5
  export function Sketch(_a) {
6
6
  var onSetup = _a.onSetup, onDraw = _a.onDraw, onPreload = _a.onPreload, width = _a.width, height = _a.height;
7
7
  var refContainer = useRef(null);
@@ -39,7 +39,7 @@ export function Sketch(_a) {
39
39
  // }
40
40
  };
41
41
  };
42
- new p5(sketch);
42
+ new P5(sketch);
43
43
  // eslint-disable-next-line
44
44
  }, []);
45
45
  return _jsx("div", { style: { backgroundColor: "#000" }, ref: refContainer });
package/lib/utils.js CHANGED
@@ -94,3 +94,19 @@ export function copyProperties(source, target) {
94
94
  }
95
95
  }
96
96
  }
97
+ function shuffle(array) {
98
+ var _a;
99
+ var currentIndex = array.length, randomIndex;
100
+ // While there remain elements to shuffle.
101
+ while (currentIndex != 0) {
102
+ // Pick a remaining element.
103
+ randomIndex = Math.floor(Math.random() * currentIndex);
104
+ currentIndex--;
105
+ // And swap it with the current element.
106
+ _a = [
107
+ array[randomIndex],
108
+ array[currentIndex],
109
+ ], array[currentIndex] = _a[0], array[randomIndex] = _a[1];
110
+ }
111
+ return array;
112
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-game-engine",
3
- "version": "0.0.58",
3
+ "version": "0.0.61",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib",