@gamelearn/arcade-components 1.3.15 → 1.3.18
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/dist/components/cards-selector-puzzle-component/mocks/mockForStory.js +1 -1
- package/dist/components/conversational-pro-component/components/scene/Panel.js +4 -1
- package/dist/components/decision-component/components/DecisionComponent.js +3 -1
- package/dist/components/test-component/components/TestComponent.js +40 -40
- package/dist/components/writer-puzzle-component/components/WriterPuzzleComponent.js +26 -43
- package/package.json +2 -2
|
@@ -347,7 +347,7 @@ var mockProps4 = {
|
|
|
347
347
|
exports.mockProps4 = mockProps4;
|
|
348
348
|
|
|
349
349
|
var mockProps5 = _objectSpread(_objectSpread({}, mockProps), {}, {
|
|
350
|
-
|
|
350
|
+
backgroundImage: 'https://i.imgur.com/DTFfovW.jpeg'
|
|
351
351
|
});
|
|
352
352
|
|
|
353
353
|
exports.mockProps5 = mockProps5;
|
|
@@ -21,12 +21,15 @@ var _helpers = require("../../../../helpers");
|
|
|
21
21
|
|
|
22
22
|
var _LightSet = _interopRequireDefault(require("../../../../helpers/LightSet"));
|
|
23
23
|
|
|
24
|
+
var _deviceDetection = require("../../../../helpers/deviceDetection");
|
|
25
|
+
|
|
24
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
27
|
|
|
26
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
29
|
|
|
28
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
31
|
|
|
32
|
+
var isMobile = (0, _deviceDetection.DeviceDetection)();
|
|
30
33
|
var defaultCamPos = [0, 14.63, 16];
|
|
31
34
|
|
|
32
35
|
function Panel(_ref) {
|
|
@@ -91,7 +94,7 @@ function Panel(_ref) {
|
|
|
91
94
|
left: child.left - parent.left,
|
|
92
95
|
bottom: child.bottom - parent.bottom
|
|
93
96
|
};
|
|
94
|
-
var paddingBottom = 40;
|
|
97
|
+
var paddingBottom = isMobile ? 24 : 40;
|
|
95
98
|
relativePos.bottom += active ? -paddingBottom : paddingBottom;
|
|
96
99
|
gl.setViewport(relativePos.left, relativePos.bottom, width, height);
|
|
97
100
|
gl.setScissor(relativePos.left, relativePos.bottom, width, height);
|
|
@@ -127,6 +127,8 @@ var DecisionComponent = function DecisionComponent(_ref) {
|
|
|
127
127
|
playSound('click-ui');
|
|
128
128
|
|
|
129
129
|
if (!failed && selectedView === 'results') {
|
|
130
|
+
setResultChoice({});
|
|
131
|
+
selectView('options');
|
|
130
132
|
emitEvent({
|
|
131
133
|
type: 'addPoints',
|
|
132
134
|
payload: choice.rewards,
|
|
@@ -198,7 +200,7 @@ var DecisionComponent = function DecisionComponent(_ref) {
|
|
|
198
200
|
};
|
|
199
201
|
|
|
200
202
|
var Body = function Body() {
|
|
201
|
-
return inherited ? /*#__PURE__*/_react.default.createElement(CharactersWrapper, null, selectedView === 'results' ? /*#__PURE__*/_react.default.createElement(_Feedback.default, {
|
|
203
|
+
return inherited ? /*#__PURE__*/_react.default.createElement(CharactersWrapper, null, selectedView === 'results' && resultChoice.feedback ? /*#__PURE__*/_react.default.createElement(_Feedback.default, {
|
|
202
204
|
question: question,
|
|
203
205
|
soundActions: soundActions,
|
|
204
206
|
inherited: inherited,
|
|
@@ -98,30 +98,23 @@ var TestComponent = function TestComponent(_ref) {
|
|
|
98
98
|
isFirst = _useState16[0],
|
|
99
99
|
changeFirst = _useState16[1];
|
|
100
100
|
|
|
101
|
-
var _useState17 = (0, _react.useState)({
|
|
102
|
-
negatives: {},
|
|
103
|
-
positives: {}
|
|
104
|
-
}),
|
|
101
|
+
var _useState17 = (0, _react.useState)({}),
|
|
105
102
|
_useState18 = _slicedToArray(_useState17, 2),
|
|
106
|
-
|
|
107
|
-
|
|
103
|
+
showingResult = _useState18[0],
|
|
104
|
+
setShowingResult = _useState18[1];
|
|
108
105
|
|
|
109
106
|
var _useState19 = (0, _react.useState)({}),
|
|
110
107
|
_useState20 = _slicedToArray(_useState19, 2),
|
|
111
|
-
|
|
112
|
-
|
|
108
|
+
historicAnswers = _useState20[0],
|
|
109
|
+
setHistoric = _useState20[1];
|
|
113
110
|
|
|
114
|
-
var _useState21 = (0, _react.useState)(
|
|
111
|
+
var _useState21 = (0, _react.useState)(false),
|
|
115
112
|
_useState22 = _slicedToArray(_useState21, 2),
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
var _useState23 = (0, _react.useState)(false),
|
|
120
|
-
_useState24 = _slicedToArray(_useState23, 2),
|
|
121
|
-
timeOver = _useState24[0],
|
|
122
|
-
setTimeOver = _useState24[1];
|
|
113
|
+
timeOver = _useState22[0],
|
|
114
|
+
setTimeOver = _useState22[1];
|
|
123
115
|
|
|
124
116
|
var isRequired = required || test.required || false;
|
|
117
|
+
var rewardedCorrectAnswers = (0, _react.useRef)({});
|
|
125
118
|
|
|
126
119
|
var _soundActions = _slicedToArray(soundActions, 2),
|
|
127
120
|
playSound = _soundActions[0],
|
|
@@ -180,11 +173,6 @@ var TestComponent = function TestComponent(_ref) {
|
|
|
180
173
|
|
|
181
174
|
var parsedShowingResult = _objectSpread({}, showingResult);
|
|
182
175
|
|
|
183
|
-
Object.keys(resultHolder.positives).forEach(function (questionID) {
|
|
184
|
-
if (parsedShowingResult[questionID] && parsedShowingResult[questionID].id === resultHolder.positives[questionID].id) {
|
|
185
|
-
delete parsedShowingResult[questionID];
|
|
186
|
-
}
|
|
187
|
-
});
|
|
188
176
|
setShowingResult(parsedShowingResult);
|
|
189
177
|
stop('test_bg');
|
|
190
178
|
};
|
|
@@ -195,9 +183,10 @@ var TestComponent = function TestComponent(_ref) {
|
|
|
195
183
|
result: result,
|
|
196
184
|
status: 'resolved'
|
|
197
185
|
};
|
|
198
|
-
Object.keys(
|
|
199
|
-
|
|
200
|
-
|
|
186
|
+
var resultKeys = Object.keys(result);
|
|
187
|
+
resultKeys.forEach(function (k) {
|
|
188
|
+
if (rewardedCorrectAnswers.current[result[k].id]) {
|
|
189
|
+
result[k].rewards = [];
|
|
201
190
|
}
|
|
202
191
|
});
|
|
203
192
|
emitEvent({
|
|
@@ -207,25 +196,36 @@ var TestComponent = function TestComponent(_ref) {
|
|
|
207
196
|
};
|
|
208
197
|
|
|
209
198
|
var restartTest = function restartTest() {
|
|
210
|
-
var
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
199
|
+
var finishAddPoints = function finishAddPoints() {
|
|
200
|
+
setShowingResult({});
|
|
201
|
+
setHistoric({});
|
|
202
|
+
changeView('test');
|
|
203
|
+
setResult({});
|
|
204
|
+
setTime(countdown.time);
|
|
205
|
+
setTimeOver(false);
|
|
206
|
+
stop('test_bg');
|
|
207
|
+
};
|
|
214
208
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
209
|
+
var resultAnswers = Object.values(result);
|
|
210
|
+
resultAnswers.forEach(function (a) {
|
|
211
|
+
if (a.isCorrect) {
|
|
212
|
+
if (!rewardedCorrectAnswers.current[a.id]) {
|
|
213
|
+
rewardedCorrectAnswers.current[a.id] = true;
|
|
214
|
+
} else {
|
|
215
|
+
a.rewards = [];
|
|
216
|
+
}
|
|
219
217
|
}
|
|
220
218
|
});
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
219
|
+
var rewards = resultAnswers.reduce(function (acc, current) {
|
|
220
|
+
return [].concat(_toConsumableArray(acc), _toConsumableArray(current.rewards));
|
|
221
|
+
}, []);
|
|
222
|
+
emitEvent({
|
|
223
|
+
type: 'addPoints',
|
|
224
|
+
payload: rewards,
|
|
225
|
+
complex: true,
|
|
226
|
+
finish: false,
|
|
227
|
+
onFinish: finishAddPoints
|
|
228
|
+
});
|
|
229
229
|
};
|
|
230
230
|
|
|
231
231
|
var translate = function translate(id, values) {
|
|
@@ -51,7 +51,6 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
51
51
|
|
|
52
52
|
var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
|
|
53
53
|
var emitEvent = _ref.emitEvent,
|
|
54
|
-
info = _ref.info,
|
|
55
54
|
styles = _ref.styles,
|
|
56
55
|
nodeId = _ref.nodeId,
|
|
57
56
|
retry = _ref.retry,
|
|
@@ -137,6 +136,7 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
|
|
|
137
136
|
var _soundActions = _slicedToArray(soundActions, 1),
|
|
138
137
|
playSound = _soundActions[0];
|
|
139
138
|
|
|
139
|
+
var rewardedCorrectAnswers = (0, _react.useRef)({});
|
|
140
140
|
(0, _react.useEffect)(function () {
|
|
141
141
|
if (finished) {
|
|
142
142
|
setDisableExit(false);
|
|
@@ -243,52 +243,24 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
|
|
|
243
243
|
});
|
|
244
244
|
};
|
|
245
245
|
|
|
246
|
-
var
|
|
247
|
-
var accumulatedRewards;
|
|
248
|
-
|
|
249
|
-
if (info.solution && info.solution.right) {
|
|
250
|
-
var rewards = info.solution.right.rewards;
|
|
251
|
-
|
|
252
|
-
if (rewards && Array.isArray(rewards) && rewards.length) {
|
|
253
|
-
accumulatedRewards = Array.from(rewards.concat(rewardsStack));
|
|
254
|
-
} else {
|
|
255
|
-
accumulatedRewards = Array.from(rewardsStack);
|
|
256
|
-
}
|
|
257
|
-
} else {
|
|
258
|
-
accumulatedRewards = Array.from(rewardsStack);
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
var wrongRewards = info.solution.wrong.rewards;
|
|
262
|
-
var rightRewards = info.solution.right.rewards;
|
|
246
|
+
var endGame = function endGame() {
|
|
263
247
|
var AllDecisionsCorrect = checkAllDecisionsAreCorrect(); // if any is wrong count as wrong if there are no individual points assigned
|
|
264
248
|
|
|
265
|
-
var pointsToEmit = [];
|
|
266
|
-
|
|
267
249
|
if (failed) {
|
|
268
250
|
playSound('fail');
|
|
269
|
-
pointsToEmit = accumulatedRewards;
|
|
270
251
|
} else {
|
|
271
252
|
playSound(AllDecisionsCorrect ? 'score' : 'fail');
|
|
272
|
-
pointsToEmit = AllDecisionsCorrect ? rightRewards : wrongRewards;
|
|
273
253
|
}
|
|
274
254
|
|
|
275
255
|
emitEvent({
|
|
276
256
|
type: 'addPoints',
|
|
277
257
|
complex: true,
|
|
278
258
|
finish: true,
|
|
279
|
-
payload:
|
|
259
|
+
payload: rewardsStack,
|
|
260
|
+
onFinish: type !== 'view' ? handleLectures : null
|
|
280
261
|
});
|
|
281
262
|
};
|
|
282
263
|
|
|
283
|
-
var endGame = function endGame() {
|
|
284
|
-
if (type !== 'view') {
|
|
285
|
-
handleLectures();
|
|
286
|
-
endPoints();
|
|
287
|
-
} else {
|
|
288
|
-
endPoints();
|
|
289
|
-
}
|
|
290
|
-
};
|
|
291
|
-
|
|
292
264
|
var handleFinish = function handleFinish() {
|
|
293
265
|
if (!checkIfFeedbackNeeded()) {
|
|
294
266
|
// THis case is for when we do not have any Decision
|
|
@@ -321,18 +293,24 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
|
|
|
321
293
|
};
|
|
322
294
|
|
|
323
295
|
var retryPuzzle = function retryPuzzle() {
|
|
324
|
-
|
|
296
|
+
setFinished(false);
|
|
325
297
|
setCurrentTextParagraph(0);
|
|
298
|
+
setDecisionsList([]);
|
|
299
|
+
setRewardsStack([]);
|
|
326
300
|
setDoneTyping(false);
|
|
327
|
-
setFinished(false);
|
|
328
301
|
setShowFeedback(false);
|
|
329
302
|
setReviewDone(false);
|
|
330
|
-
setTextHolder({});
|
|
331
303
|
setTextHolder(_defineProperty({}, "text_".concat(0), _objectSpread(_objectSpread({}, texts[0]), {}, {
|
|
332
304
|
id: "text_".concat(0),
|
|
333
305
|
correct: ''
|
|
334
306
|
})));
|
|
335
307
|
setIsActive(true);
|
|
308
|
+
emitEvent({
|
|
309
|
+
type: 'addPoints',
|
|
310
|
+
complex: true,
|
|
311
|
+
finish: false,
|
|
312
|
+
payload: rewardsStack
|
|
313
|
+
});
|
|
336
314
|
};
|
|
337
315
|
|
|
338
316
|
var noColor = function noColor() {
|
|
@@ -344,10 +322,17 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
|
|
|
344
322
|
};
|
|
345
323
|
|
|
346
324
|
var handleSelectedOption = function handleSelectedOption(index) {
|
|
347
|
-
var
|
|
325
|
+
var currentElection = texts[currenTextParagraph].electionTexts[index];
|
|
326
|
+
var currentRewards = currentElection.feedback.rewards;
|
|
348
327
|
|
|
349
328
|
if (currentRewards && currentRewards[0] && currentRewards[0].points) {
|
|
350
|
-
|
|
329
|
+
if (!rewardedCorrectAnswers.current["t".concat(currenTextParagraph, "_e").concat(index)]) {
|
|
330
|
+
if (currentElection.correct) {
|
|
331
|
+
rewardedCorrectAnswers.current["t".concat(currenTextParagraph, "_e").concat(index)] = true;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
setRewardsStack([].concat(_toConsumableArray(rewardsStack), _toConsumableArray(currentRewards)));
|
|
335
|
+
}
|
|
351
336
|
}
|
|
352
337
|
|
|
353
338
|
var checkColor = function checkColor() {
|
|
@@ -355,18 +340,18 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
|
|
|
355
340
|
return 'none';
|
|
356
341
|
}
|
|
357
342
|
|
|
358
|
-
return
|
|
343
|
+
return currentElection.correct ? 'green' : 'red';
|
|
359
344
|
};
|
|
360
345
|
|
|
361
346
|
var decision = {
|
|
362
347
|
currenTextParagraph: currenTextParagraph,
|
|
363
|
-
fullText:
|
|
348
|
+
fullText: currentElection.fullText,
|
|
364
349
|
index: index,
|
|
365
350
|
isCorrect: checkColor()
|
|
366
351
|
};
|
|
367
352
|
setTextHolder(_objectSpread(_objectSpread({}, textHolder), {}, _defineProperty({}, "text_".concat(currenTextParagraph), {
|
|
368
353
|
type: 'fixed',
|
|
369
|
-
fullText:
|
|
354
|
+
fullText: currentElection.fullText,
|
|
370
355
|
correct: decision.isCorrect
|
|
371
356
|
})));
|
|
372
357
|
setDecisionsList([].concat(_toConsumableArray(decisionsList), [decision]));
|
|
@@ -461,9 +446,7 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
|
|
|
461
446
|
retry: retry,
|
|
462
447
|
skip: skip,
|
|
463
448
|
checkCorrect: checkAllDecisionsAreCorrect,
|
|
464
|
-
retryAction:
|
|
465
|
-
return retryPuzzle();
|
|
466
|
-
},
|
|
449
|
+
retryAction: retryPuzzle,
|
|
467
450
|
rewardsStack: rewardsStack,
|
|
468
451
|
nodeId: nodeId,
|
|
469
452
|
soundActions: soundActions
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamelearn/arcade-components",
|
|
3
3
|
"license": "Gamelearn",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.18",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"@babel/eslint-parser": "^7.15.8",
|
|
64
64
|
"@babel/preset-env": "7.12.11",
|
|
65
65
|
"@babel/preset-react": "7.12.10",
|
|
66
|
-
"@gamelearn/arcade-styles": "0.
|
|
66
|
+
"@gamelearn/arcade-styles": "0.5.0",
|
|
67
67
|
"@react-three/test-renderer": "6.0.6",
|
|
68
68
|
"@storybook/addon-actions": "6.1.11",
|
|
69
69
|
"@storybook/addon-essentials": "6.1.11",
|