react-simple-game-engine 0.2.13 → 0.2.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/ui-components/game-bootstrap.d.ts +2 -1
- package/lib/ui-components/game-bootstrap.d.ts.map +1 -1
- package/lib/ui-components/game-bootstrap.js +4 -3
- package/lib/ui-components/logger.d.ts +3 -0
- package/lib/ui-components/logger.d.ts.map +1 -0
- package/lib/ui-components/logger.js +113 -0
- package/lib/utils.d.ts +1 -0
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +17 -0
- package/package.json +3 -2
@@ -3,7 +3,8 @@ import { SceneClass } from "../classes/scene-management";
|
|
3
3
|
import { SceneRunnerPublicProps } from "./scene-runner";
|
4
4
|
declare type WorldViewProps = SceneRunnerPublicProps & {
|
5
5
|
scenes: SceneClass[];
|
6
|
+
logPopup?: boolean;
|
6
7
|
};
|
7
|
-
export declare function GameBootstrap({ scenes, ...props }: WorldViewProps): JSX.Element;
|
8
|
+
export declare function GameBootstrap({ logPopup, scenes, ...props }: WorldViewProps): JSX.Element;
|
8
9
|
export {};
|
9
10
|
//# sourceMappingURL=game-bootstrap.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"game-bootstrap.d.ts","sourceRoot":"","sources":["../../src/ui-components/game-bootstrap.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAmB,UAAU,EAAE,MAAM,6BAA6B,CAAC;
|
1
|
+
{"version":3,"file":"game-bootstrap.d.ts","sourceRoot":"","sources":["../../src/ui-components/game-bootstrap.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAmB,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,EAAe,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAErE,aAAK,cAAc,GAAG,sBAAsB,GAAG;IAC7C,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,eAqC3E"}
|
@@ -20,12 +20,13 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
20
20
|
}
|
21
21
|
return t;
|
22
22
|
};
|
23
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
23
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
24
24
|
import { useEffect, useMemo, useState } from "react";
|
25
25
|
import { SceneManagement } from "../classes/scene-management";
|
26
|
+
import { Logger } from "./logger";
|
26
27
|
import { SceneRunner } from "./scene-runner";
|
27
28
|
export function GameBootstrap(_a) {
|
28
|
-
var scenes = _a.scenes, props = __rest(_a, ["scenes"]);
|
29
|
+
var logPopup = _a.logPopup, scenes = _a.scenes, props = __rest(_a, ["logPopup", "scenes"]);
|
29
30
|
var sceneManagement = useMemo(function () {
|
30
31
|
return new SceneManagement(scenes);
|
31
32
|
}, [scenes]);
|
@@ -46,5 +47,5 @@ export function GameBootstrap(_a) {
|
|
46
47
|
}
|
47
48
|
});
|
48
49
|
}, [currentScene]);
|
49
|
-
return (_jsx(SceneRunner, __assign({ current: currentScene }, props), currentScene.sessionId));
|
50
|
+
return (_jsxs(_Fragment, { children: [_jsx(SceneRunner, __assign({ current: currentScene }, props), currentScene.sessionId), logPopup && _jsx(Logger, {})] }));
|
50
51
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/ui-components/logger.tsx"],"names":[],"mappings":";AAIA,wBAAgB,MAAM,gCAoGrB"}
|
@@ -0,0 +1,113 @@
|
|
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
13
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
14
|
+
if (ar || !(i in from)) {
|
15
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
16
|
+
ar[i] = from[i];
|
17
|
+
}
|
18
|
+
}
|
19
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
20
|
+
};
|
21
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
22
|
+
import { useCallback, useMemo, useRef, useState } from "react";
|
23
|
+
import ReactDOM from "react-dom";
|
24
|
+
import { toText } from "../utils";
|
25
|
+
export function Logger() {
|
26
|
+
var _a = useState([]), messages = _a[0], setMessages = _a[1];
|
27
|
+
var refList = useRef(null);
|
28
|
+
var container = useMemo(function () {
|
29
|
+
var c = document.createElement("div");
|
30
|
+
c.style.zIndex = "4";
|
31
|
+
c.style.position = "fixed";
|
32
|
+
c.style.top = "0";
|
33
|
+
c.style.right = "0";
|
34
|
+
document.body.appendChild(c);
|
35
|
+
return c;
|
36
|
+
}, []);
|
37
|
+
var pushMessage = useCallback(function (args) {
|
38
|
+
setMessages(function (prev) { return __spreadArray(__spreadArray([], prev, true), [
|
39
|
+
args
|
40
|
+
.map(function (arg) {
|
41
|
+
return arg && typeof arg === "object"
|
42
|
+
? toText(arg)
|
43
|
+
: arg === null
|
44
|
+
? "null"
|
45
|
+
: arg === undefined
|
46
|
+
? "undefined"
|
47
|
+
: arg;
|
48
|
+
})
|
49
|
+
.join(", "),
|
50
|
+
], false); });
|
51
|
+
if (refList.current) {
|
52
|
+
refList.current.scrollTop = refList.current.scrollHeight;
|
53
|
+
}
|
54
|
+
}, []);
|
55
|
+
useMemo(function () {
|
56
|
+
var originLog = console.log.bind(console);
|
57
|
+
console.log = function () {
|
58
|
+
var args = [];
|
59
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
60
|
+
args[_i] = arguments[_i];
|
61
|
+
}
|
62
|
+
originLog.apply(void 0, args);
|
63
|
+
pushMessage(args);
|
64
|
+
};
|
65
|
+
var originError = console.error.bind(console);
|
66
|
+
console.error = function () {
|
67
|
+
var args = [];
|
68
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
69
|
+
args[_i] = arguments[_i];
|
70
|
+
}
|
71
|
+
originError.apply(void 0, args);
|
72
|
+
pushMessage(args);
|
73
|
+
};
|
74
|
+
var originWarn = console.warn.bind(console);
|
75
|
+
console.warn = function () {
|
76
|
+
var args = [];
|
77
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
78
|
+
args[_i] = arguments[_i];
|
79
|
+
}
|
80
|
+
originWarn.apply(void 0, args);
|
81
|
+
pushMessage(args);
|
82
|
+
};
|
83
|
+
var originInfo = console.info.bind(console);
|
84
|
+
console.info = function () {
|
85
|
+
var args = [];
|
86
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
87
|
+
args[_i] = arguments[_i];
|
88
|
+
}
|
89
|
+
originInfo.apply(void 0, args);
|
90
|
+
pushMessage(args);
|
91
|
+
};
|
92
|
+
}, [pushMessage]);
|
93
|
+
return ReactDOM.createPortal(messages.length ? (_jsxs("div", __assign({ style: {
|
94
|
+
width: "calc(50vw - 200px)",
|
95
|
+
height: "calc(50vh - 50px)",
|
96
|
+
minWidth: 200,
|
97
|
+
minHeight: 150,
|
98
|
+
position: "absolute",
|
99
|
+
top: 5,
|
100
|
+
right: 5,
|
101
|
+
padding: 5,
|
102
|
+
backgroundColor: "#0000007b",
|
103
|
+
color: "#fff",
|
104
|
+
fontSize: "0.8rem",
|
105
|
+
display: "flex",
|
106
|
+
flexDirection: "column",
|
107
|
+
} }, { children: [_jsx("div", __assign({ style: { width: "100%", display: "flex", justifyContent: "flex-end" } }, { children: _jsx("p", __assign({ onClick: function () { return setMessages([]); } }, { children: "X Clear" })) })), _jsx("div", __assign({ style: {
|
108
|
+
flex: 1,
|
109
|
+
width: "100%",
|
110
|
+
overflowX: "hidden",
|
111
|
+
overflowY: "auto",
|
112
|
+
}, ref: refList }, { children: messages.map(function (mss, i) { return (_jsxs("p", { children: ["- ", mss] }, i)); }) }))] }))) : null, container);
|
113
|
+
}
|
package/lib/utils.d.ts
CHANGED
package/lib/utils.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAiBxC,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAInE;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,KAAK,CAAC,CAiChB;AAED,wBAAsB,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,oBAQxC;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAO5B;AAED,wBAAsB,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAC3C,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EACtE,KAAK,SAAI,GACR,OAAO,CAAC,CAAC,EAAE,CAAC,CAkBd;AAED,wBAAgB,aAAa;;;EAiB5B"}
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAiBxC,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAInE;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,KAAK,CAAC,CAiChB;AAED,wBAAsB,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,oBAQxC;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAO5B;AAED,wBAAsB,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAC3C,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EACtE,KAAK,SAAI,GACR,OAAO,CAAC,CAAC,EAAE,CAAC,CAkBd;AAED,wBAAgB,aAAa;;;EAiB5B;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,gCAetE"}
|
package/lib/utils.js
CHANGED
@@ -180,3 +180,20 @@ export function useWindowSize() {
|
|
180
180
|
}, []);
|
181
181
|
return size;
|
182
182
|
}
|
183
|
+
export function toText(obj) {
|
184
|
+
var arr = Array.isArray(obj) ? obj : [obj];
|
185
|
+
try {
|
186
|
+
return "[".concat(arr
|
187
|
+
.map(function (o) {
|
188
|
+
return o && typeof o === "object"
|
189
|
+
? "{".concat(Object.keys(o)
|
190
|
+
.map(function (k) { return "".concat(k, ": ").concat(o[k]); })
|
191
|
+
.join(", "), "}")
|
192
|
+
: o;
|
193
|
+
})
|
194
|
+
.join(", "), "]");
|
195
|
+
}
|
196
|
+
catch (error) {
|
197
|
+
return obj;
|
198
|
+
}
|
199
|
+
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "react-simple-game-engine",
|
3
|
-
"version": "0.2.
|
3
|
+
"version": "0.2.14",
|
4
4
|
"description": "",
|
5
5
|
"main": "lib/index.js",
|
6
6
|
"types": "lib",
|
@@ -12,8 +12,9 @@
|
|
12
12
|
"p5": "^1.4.1"
|
13
13
|
},
|
14
14
|
"devDependencies": {
|
15
|
-
"@types/react": "^18.0.17",
|
16
15
|
"@types/node": "^16.7.13",
|
16
|
+
"@types/react": "^18.0.17",
|
17
|
+
"@types/react-dom": "^18.0.6",
|
17
18
|
"typescript": "^4.4.2"
|
18
19
|
},
|
19
20
|
"scripts": {
|