@gamelearn/arcade-components 0.6.2 → 0.7.0
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/README.md +32 -0
- package/dist/components/arcade-render/element/index.js +16 -8
- package/dist/components/arcade-render/scene/index.js +1 -0
- package/dist/components/cards-selector-puzzle-component/components/Board/index.js +195 -0
- package/dist/components/cards-selector-puzzle-component/components/Card/index.js +134 -0
- package/dist/components/cards-selector-puzzle-component/components/CardsSelectorPuzzleComponent.js +155 -0
- package/dist/components/cards-selector-puzzle-component/index.js +13 -0
- package/dist/components/cards-selector-puzzle-component/mocks/mockForStory.js +159 -0
- package/dist/components/comic-component/components/ComicComponent.js +5 -2
- package/dist/components/comic-component/components/Slide.js +9 -11
- package/dist/components/conversational-pro-component/components/ConversationalProComponent.js +13 -25
- package/dist/components/decision-component/components/DecisionBody.js +2 -2
- package/dist/components/{image-click-wrapper-component/components/Feedback/index.js → feedback-component/components/FeedbackComponent.js} +22 -14
- package/dist/components/feedback-component/index.js +13 -0
- package/dist/components/feedback-component/mocks/mockForStory.js +20 -0
- package/dist/components/frame-click-puzzle-component/components/Counter/index.js +29 -0
- package/dist/components/frame-click-puzzle-component/components/CurrentFramePuzzle.js +121 -0
- package/dist/components/frame-click-puzzle-component/components/FrameClickPuzzleComponent.js +174 -0
- package/dist/components/frame-click-puzzle-component/components/PlayButton/index.js +76 -0
- package/dist/components/frame-click-puzzle-component/components/Tooltip/index.js +28 -0
- package/dist/components/frame-click-puzzle-component/index.js +13 -0
- package/dist/components/frame-click-puzzle-component/mocks/mockForStory.js +164 -0
- package/dist/components/image-click-puzzle-component/mocks/mockForStory.js +7 -0
- package/dist/components/image-click-wrapper-component/components/ImageClickWrapperComponent.js +14 -63
- package/dist/components/image-click-wrapper-component/mocks/mockForStory.js +3 -0
- package/dist/components/index.js +8 -0
- package/dist/components/keyboard-puzzle-component/components/KeyboardPuzzleComponent.js +31 -6
- package/dist/components/terminal-puzzle-component/components/Visor/index.js +10 -4
- package/dist/helpers/drawLOD.js +28 -12
- package/dist/helpers/useGLB.js +2 -2
- package/package.json +4 -5
- package/dist/components/keyboard-puzzle-component/components/FeedbackMessage.js +0 -30
|
@@ -9,7 +9,7 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _FeedbackComponent = _interopRequireDefault(require("../../feedback-component/components/FeedbackComponent"));
|
|
13
13
|
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
|
|
@@ -62,14 +62,33 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
|
|
|
62
62
|
inputPassword = _useState8[0],
|
|
63
63
|
setInputPassword = _useState8[1];
|
|
64
64
|
|
|
65
|
+
var _useState9 = (0, _react.useState)(false),
|
|
66
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
67
|
+
feedbackResult = _useState10[0],
|
|
68
|
+
setFeedbackResult = _useState10[1];
|
|
69
|
+
|
|
70
|
+
var _useState11 = (0, _react.useState)(''),
|
|
71
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
72
|
+
feedBackText = _useState12[0],
|
|
73
|
+
setFeedBackText = _useState12[1];
|
|
74
|
+
|
|
75
|
+
var _useState13 = (0, _react.useState)(false),
|
|
76
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
77
|
+
feedbackIsShown = _useState14[0],
|
|
78
|
+
setFeedbackIsShown = _useState14[1];
|
|
79
|
+
|
|
65
80
|
var imageURL = ((_image$img = image.img) === null || _image$img === void 0 ? void 0 : _image$img.url) || defaultImage;
|
|
66
81
|
|
|
67
82
|
var checkPass = function checkPass(current) {
|
|
68
83
|
if (current === password) {
|
|
69
84
|
disableExit(false);
|
|
70
85
|
setPassClass('success');
|
|
86
|
+
setFeedbackResult(true);
|
|
87
|
+
setFeedBackText(info.solution.right.desc);
|
|
88
|
+
setFeedbackIsShown(true);
|
|
71
89
|
setFinished(true);
|
|
72
90
|
setTimeout(function () {
|
|
91
|
+
setFeedbackIsShown(false);
|
|
73
92
|
emitEvent({
|
|
74
93
|
type: 'addPoints',
|
|
75
94
|
payload: failed ? info.solution.wrong.rewards : info.solution.right.rewards
|
|
@@ -77,8 +96,12 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
|
|
|
77
96
|
}, 4000);
|
|
78
97
|
} else {
|
|
79
98
|
setFailed(true);
|
|
99
|
+
setFeedbackIsShown(true);
|
|
80
100
|
setPassClass('failed');
|
|
101
|
+
setFeedbackResult(false);
|
|
102
|
+
setFeedBackText(info.solution.wrong.desc);
|
|
81
103
|
setTimeout(function () {
|
|
104
|
+
setFeedbackIsShown(false);
|
|
82
105
|
setPassClass('');
|
|
83
106
|
setInputPassword('');
|
|
84
107
|
}, 2000);
|
|
@@ -89,12 +112,14 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
|
|
|
89
112
|
setResolveAction(function (resolve) {
|
|
90
113
|
disableExit(false);
|
|
91
114
|
setPassClass('success');
|
|
115
|
+
setFeedbackResult(true);
|
|
116
|
+
setFeedBackText(info.solution.right.desc);
|
|
92
117
|
setFinished(true);
|
|
93
118
|
setTimeout(function () {
|
|
94
119
|
resolve();
|
|
95
120
|
}, 4000);
|
|
96
121
|
});
|
|
97
|
-
}, [setResolveAction, disableExit]);
|
|
122
|
+
}, [setResolveAction, disableExit, info.solution.right.desc]);
|
|
98
123
|
|
|
99
124
|
var handleNumbClick = function handleNumbClick(row, col) {
|
|
100
125
|
var char = keyboard[row][col];
|
|
@@ -149,10 +174,10 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
|
|
|
149
174
|
key: col
|
|
150
175
|
}, col);
|
|
151
176
|
}));
|
|
152
|
-
})), /*#__PURE__*/_react.default.createElement(
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
177
|
+
})), feedbackIsShown && /*#__PURE__*/_react.default.createElement(_FeedbackComponent.default, {
|
|
178
|
+
text: feedBackText,
|
|
179
|
+
success: feedbackResult,
|
|
180
|
+
additionalStyle: "bottom"
|
|
156
181
|
}));
|
|
157
182
|
};
|
|
158
183
|
|
|
@@ -13,6 +13,8 @@ var _pdfComponent = require("../../../pdf-component");
|
|
|
13
13
|
|
|
14
14
|
var _Image = _interopRequireDefault(require("../Image"));
|
|
15
15
|
|
|
16
|
+
var _FeedbackComponent = _interopRequireDefault(require("../../../feedback-component/components/FeedbackComponent"));
|
|
17
|
+
|
|
16
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
19
|
|
|
18
20
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -112,11 +114,15 @@ var Visor = function Visor(_ref) {
|
|
|
112
114
|
|
|
113
115
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
114
116
|
className: "puzzle--terminal__visor"
|
|
115
|
-
}, fileId === solutionId ? /*#__PURE__*/_react.default.createElement(
|
|
116
|
-
|
|
117
|
-
|
|
117
|
+
}, fileId === solutionId ? /*#__PURE__*/_react.default.createElement(_FeedbackComponent.default, {
|
|
118
|
+
success: "success",
|
|
119
|
+
text: info.solution.right.desc,
|
|
120
|
+
functionOnClose: backFile,
|
|
121
|
+
additionalStyle: ICONS[file.type],
|
|
122
|
+
secondText: title,
|
|
123
|
+
puzzleHeaderClass: 'puzzle--terminal__visor--message'
|
|
118
124
|
}) : /*#__PURE__*/_react.default.createElement(Feedback, {
|
|
119
|
-
|
|
125
|
+
success: "failed",
|
|
120
126
|
feedback: info.solution.wrong.desc
|
|
121
127
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
122
128
|
className: "puzzle--terminal__visor--body"
|
package/dist/helpers/drawLOD.js
CHANGED
|
@@ -72,7 +72,7 @@ function makeTextSprite(message, opts) {
|
|
|
72
72
|
var fontsize = parameters.fontsize || 120;
|
|
73
73
|
var canvas = document.createElement('canvas');
|
|
74
74
|
var context = canvas.getContext('2d');
|
|
75
|
-
context.font = fontsize +
|
|
75
|
+
context.font = fontsize + 'px ' + fontface; // get size data (height depends only on font size)
|
|
76
76
|
// var metrics = context.measureText(message);
|
|
77
77
|
// var textWidth = metrics.width;
|
|
78
78
|
// text color
|
|
@@ -293,7 +293,18 @@ var getHelpers = function getHelpers(scene) {
|
|
|
293
293
|
};
|
|
294
294
|
|
|
295
295
|
var drawLOD = function drawLOD(scene, camera) {
|
|
296
|
-
|
|
296
|
+
var currentCamera = camera;
|
|
297
|
+
|
|
298
|
+
if (!currentCamera.parent) {
|
|
299
|
+
scene.traverse(function (node) {
|
|
300
|
+
var _node$userData;
|
|
301
|
+
|
|
302
|
+
if (node.isPerspectiveCamera && (_node$userData = node.userData) !== null && _node$userData !== void 0 && _node$userData.defaultCamera) {
|
|
303
|
+
currentCamera = node;
|
|
304
|
+
}
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
|
|
297
308
|
var params = {};
|
|
298
309
|
params._texturesFrustum = texturesFrustum;
|
|
299
310
|
params._texturesDistance = texturesDistance;
|
|
@@ -306,27 +317,32 @@ var drawLOD = function drawLOD(scene, camera) {
|
|
|
306
317
|
|
|
307
318
|
params._scene.add(params._helpers);
|
|
308
319
|
|
|
309
|
-
params._camera =
|
|
320
|
+
params._camera = currentCamera;
|
|
310
321
|
params._frustum = null;
|
|
311
322
|
|
|
312
323
|
if (params._texturesFrustum || params._texturesDistance) {
|
|
313
|
-
if (
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
params._helpers.add(helper);
|
|
317
|
-
|
|
318
|
-
helper.update();
|
|
319
|
-
}
|
|
324
|
+
if (params._camera) {
|
|
325
|
+
params._camera.updateMatrixWorld();
|
|
320
326
|
|
|
321
|
-
|
|
327
|
+
params._camera.updateProjectionMatrix();
|
|
322
328
|
|
|
323
|
-
if (params._camera) {
|
|
324
329
|
params._frustum = new THREE.Frustum();
|
|
325
330
|
|
|
326
331
|
params._frustum.setFromProjectionMatrix(new THREE.Matrix4().multiplyMatrices(params._camera.projectionMatrix, params._camera.matrixWorldInverse));
|
|
327
332
|
} else {
|
|
328
333
|
params._texturesFrustum = params._texturesDistance = false;
|
|
329
334
|
}
|
|
335
|
+
|
|
336
|
+
if (showHelpers) {
|
|
337
|
+
var helper = new THREE.CameraHelper(params._camera.clone());
|
|
338
|
+
|
|
339
|
+
params._helpers.add(helper);
|
|
340
|
+
|
|
341
|
+
helper.update();
|
|
342
|
+
var axesHelper = new THREE.AxesHelper(5);
|
|
343
|
+
|
|
344
|
+
params._helpers.add(axesHelper);
|
|
345
|
+
}
|
|
330
346
|
}
|
|
331
347
|
|
|
332
348
|
setTexturableElements(params);
|
package/dist/helpers/useGLB.js
CHANGED
|
@@ -46,8 +46,8 @@ var fetchGlb = function fetchGlb(originalUrl) {
|
|
|
46
46
|
var url = isTexturableObject ? originalUrl.replace('.glb', '.geometry.glb') : originalUrl;
|
|
47
47
|
return new Promise(function (resolve, reject) {
|
|
48
48
|
gltfLoader.load(url, function (result) {
|
|
49
|
-
treatGeometry(result);
|
|
50
|
-
|
|
49
|
+
treatGeometry(result); // result.scene.userData.url = originalUrl;
|
|
50
|
+
|
|
51
51
|
resolve(result);
|
|
52
52
|
}, null, function (error) {
|
|
53
53
|
return reject(error);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamelearn/arcade-components",
|
|
3
3
|
"license": "Gamelearn",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.7.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"url": "https://github.com/gamelearn/arcade-components"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@react-three/drei": "^5.1
|
|
15
|
+
"@react-three/drei": "^5.3.1",
|
|
16
16
|
"@react-three/fiber": "6.0.16",
|
|
17
17
|
"@testing-library/jest-dom": "5.11.4",
|
|
18
18
|
"@testing-library/react": "11.1.0",
|
|
@@ -26,8 +26,7 @@
|
|
|
26
26
|
"react-pdf": "5.2.0",
|
|
27
27
|
"react-promise-suspense": "0.3.3",
|
|
28
28
|
"react-typist": "^2.0.5",
|
|
29
|
-
"three": "0.
|
|
30
|
-
"use-sound": "2.0.1",
|
|
29
|
+
"three": "^0.129.0",
|
|
31
30
|
"web-vitals": "0.2.4"
|
|
32
31
|
},
|
|
33
32
|
"scripts": {
|
|
@@ -56,7 +55,7 @@
|
|
|
56
55
|
"@babel/cli": "7.12.10",
|
|
57
56
|
"@babel/preset-env": "7.12.11",
|
|
58
57
|
"@babel/preset-react": "7.12.10",
|
|
59
|
-
"@gamelearn/ui-components-core": "5.
|
|
58
|
+
"@gamelearn/ui-components-core": "5.18.0",
|
|
60
59
|
"@react-three/test-renderer": "6.0.6",
|
|
61
60
|
"@storybook/addon-actions": "6.1.11",
|
|
62
61
|
"@storybook/addon-essentials": "6.1.11",
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
var FeedbackMessage = function FeedbackMessage(_ref) {
|
|
13
|
-
var info = _ref.info,
|
|
14
|
-
passClass = _ref.passClass,
|
|
15
|
-
finished = _ref.finished;
|
|
16
|
-
if (!passClass) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
17
|
-
if (finished) return /*#__PURE__*/_react.default.createElement("div", {
|
|
18
|
-
className: "puzzle--image__result bottom ".concat(passClass)
|
|
19
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
20
|
-
className: "title"
|
|
21
|
-
}, info.solution.right.desc ? /*#__PURE__*/_react.default.createElement("span", null, info.solution.right.desc) : null));
|
|
22
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
23
|
-
className: "puzzle--keyboard__failed feedback puzzle--image__result bottom ".concat(passClass)
|
|
24
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
25
|
-
className: "title"
|
|
26
|
-
}, info.solution.wrong.desc ? /*#__PURE__*/_react.default.createElement("span", null, info.solution.wrong.desc) : null));
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
var _default = FeedbackMessage;
|
|
30
|
-
exports.default = _default;
|