@gamelearn/arcade-components 1.25.1 → 1.26.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.
|
@@ -50,6 +50,7 @@ var MAX_EXTRA_LETTERS = 8;
|
|
|
50
50
|
|
|
51
51
|
var AnswerPanel = function AnswerPanel(_ref) {
|
|
52
52
|
var answer = _ref.answer,
|
|
53
|
+
flickerPosition = _ref.flickerPosition,
|
|
53
54
|
_ref$show = _ref.show,
|
|
54
55
|
show = _ref$show === void 0 ? false : _ref$show;
|
|
55
56
|
var words = [];
|
|
@@ -64,6 +65,8 @@ var AnswerPanel = function AnswerPanel(_ref) {
|
|
|
64
65
|
if (a.char === ' ') {
|
|
65
66
|
wordIndex += 1;
|
|
66
67
|
}
|
|
68
|
+
|
|
69
|
+
a.positionInitial = a.index;
|
|
67
70
|
});
|
|
68
71
|
return words.map(function (word, index) {
|
|
69
72
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -84,7 +87,7 @@ var AnswerPanel = function AnswerPanel(_ref) {
|
|
|
84
87
|
fixed = _ref3.fixed;
|
|
85
88
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
86
89
|
key: "".concat(char + i),
|
|
87
|
-
className: "puzzle--hanged__letter ".concat(!fixed ? 'active' : '')
|
|
90
|
+
className: "puzzle--hanged__letter ".concat(!fixed ? 'active' : '', " ").concat(word[i].positionInitial === flickerPosition ? 'fakeFocus' : '')
|
|
88
91
|
}, char);
|
|
89
92
|
}));
|
|
90
93
|
});
|
|
@@ -111,40 +114,50 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
111
114
|
|
|
112
115
|
var imgURL = ((_image$img = image.img) === null || _image$img === void 0 ? void 0 : _image$img.url) || defaultImage;
|
|
113
116
|
|
|
114
|
-
var _useState = (0, _react.useState)(
|
|
117
|
+
var _useState = (0, _react.useState)(0),
|
|
115
118
|
_useState2 = _slicedToArray(_useState, 2),
|
|
116
|
-
|
|
117
|
-
|
|
119
|
+
flickerPosition = _useState2[0],
|
|
120
|
+
setFlickerPosition = _useState2[1];
|
|
118
121
|
|
|
119
122
|
var _useState3 = (0, _react.useState)(false),
|
|
120
123
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
121
|
-
|
|
122
|
-
|
|
124
|
+
playerHasFailAtLeastOneTime = _useState4[0],
|
|
125
|
+
setPlayerHasFailAtLeastOneTime = _useState4[1];
|
|
123
126
|
|
|
124
127
|
var _useState5 = (0, _react.useState)([]),
|
|
125
128
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
126
|
-
|
|
127
|
-
|
|
129
|
+
poolLetters = _useState6[0],
|
|
130
|
+
setPoolLetters = _useState6[1];
|
|
128
131
|
|
|
129
|
-
var _useState7 = (0, _react.useState)(
|
|
132
|
+
var _useState7 = (0, _react.useState)(false),
|
|
130
133
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
131
|
-
|
|
132
|
-
|
|
134
|
+
mounted = _useState8[0],
|
|
135
|
+
setMounted = _useState8[1];
|
|
133
136
|
|
|
134
|
-
var _useState9 = (0, _react.useState)(
|
|
137
|
+
var _useState9 = (0, _react.useState)([]),
|
|
135
138
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
136
|
-
|
|
137
|
-
|
|
139
|
+
resolvedAnswer = _useState10[0],
|
|
140
|
+
setAnswer = _useState10[1];
|
|
138
141
|
|
|
139
|
-
var _useState11 = (0, _react.useState)(
|
|
142
|
+
var _useState11 = (0, _react.useState)(''),
|
|
140
143
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
141
|
-
|
|
142
|
-
|
|
144
|
+
resolvedClass = _useState12[0],
|
|
145
|
+
setResolveClass = _useState12[1];
|
|
143
146
|
|
|
144
147
|
var _useState13 = (0, _react.useState)(false),
|
|
145
148
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
146
|
-
|
|
147
|
-
|
|
149
|
+
disabled = _useState14[0],
|
|
150
|
+
setDisable = _useState14[1];
|
|
151
|
+
|
|
152
|
+
var _useState15 = (0, _react.useState)([]),
|
|
153
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
154
|
+
accRewards = _useState16[0],
|
|
155
|
+
setRewards = _useState16[1];
|
|
156
|
+
|
|
157
|
+
var _useState17 = (0, _react.useState)(false),
|
|
158
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
159
|
+
showCorrectSolution = _useState18[0],
|
|
160
|
+
setCorrectSolution = _useState18[1];
|
|
148
161
|
|
|
149
162
|
var translatedAnswer = answer.toUpperCase().split('');
|
|
150
163
|
var answerPanel = translatedAnswer.filter(function (char) {
|
|
@@ -258,6 +271,10 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
258
271
|
});
|
|
259
272
|
setPoolLetters(restoredPool);
|
|
260
273
|
setAnswer(newAnswer);
|
|
274
|
+
var newCursorPosition = newAnswer.find(function (el) {
|
|
275
|
+
return el.char === '';
|
|
276
|
+
});
|
|
277
|
+
setFlickerPosition(newCursorPosition.index);
|
|
261
278
|
};
|
|
262
279
|
|
|
263
280
|
var addCharacter = function addCharacter(character, index) {
|
|
@@ -280,12 +297,36 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
280
297
|
}).length;
|
|
281
298
|
setPoolLetters(newPool);
|
|
282
299
|
setAnswer(newAnswer);
|
|
300
|
+
getCursorPosition();
|
|
283
301
|
|
|
284
302
|
if (responsedChar === resolvedAnswer.length) {
|
|
285
303
|
resolvePuzzle(newAnswer, newPool);
|
|
286
304
|
}
|
|
287
305
|
};
|
|
288
306
|
|
|
307
|
+
var getCursorPosition = function getCursorPosition() {
|
|
308
|
+
if (!playerHasFailAtLeastOneTime) {
|
|
309
|
+
var _resolvedAnswer;
|
|
310
|
+
|
|
311
|
+
var cursorPosition = resolvedAnswer.find(function (el) {
|
|
312
|
+
return el.char === '';
|
|
313
|
+
});
|
|
314
|
+
setFlickerPosition(cursorPosition.index + 1);
|
|
315
|
+
|
|
316
|
+
if (((_resolvedAnswer = resolvedAnswer[cursorPosition.index + 1]) === null || _resolvedAnswer === void 0 ? void 0 : _resolvedAnswer.letter) === ' ') {
|
|
317
|
+
setFlickerPosition(cursorPosition.index + 2);
|
|
318
|
+
}
|
|
319
|
+
} else {
|
|
320
|
+
var _cursorPosition = resolvedAnswer.find(function (el) {
|
|
321
|
+
return el.index !== flickerPosition && el.letter !== ' ' && el.char === '' && el.poolIndex === false;
|
|
322
|
+
});
|
|
323
|
+
|
|
324
|
+
if (_cursorPosition) {
|
|
325
|
+
setFlickerPosition(_cursorPosition.index);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
};
|
|
329
|
+
|
|
289
330
|
var removeCharacter = function removeCharacter() {
|
|
290
331
|
playSound('click-ui');
|
|
291
332
|
var newCharacter = resolvedAnswer.map(function (letter, index) {
|
|
@@ -317,6 +358,7 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
317
358
|
});
|
|
318
359
|
setPoolLetters(newPool);
|
|
319
360
|
setAnswer(newAnswer);
|
|
361
|
+
setFlickerPosition(newCharacter.index);
|
|
320
362
|
}
|
|
321
363
|
};
|
|
322
364
|
|
|
@@ -352,6 +394,7 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
352
394
|
emitEvent({
|
|
353
395
|
type: 'failPuzzle'
|
|
354
396
|
});
|
|
397
|
+
setPlayerHasFailAtLeastOneTime(true);
|
|
355
398
|
};
|
|
356
399
|
|
|
357
400
|
var resolvePuzzle = function resolvePuzzle(newAnswer, newPool) {
|
|
@@ -403,6 +446,10 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
403
446
|
handleClose();
|
|
404
447
|
} else {
|
|
405
448
|
handleFail();
|
|
449
|
+
var cursorPosition = resolvedAnswer.find(function (el) {
|
|
450
|
+
return el.char === '';
|
|
451
|
+
});
|
|
452
|
+
setFlickerPosition(cursorPosition.index);
|
|
406
453
|
}
|
|
407
454
|
};
|
|
408
455
|
|
|
@@ -460,6 +507,7 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
460
507
|
answer: answer.split(''),
|
|
461
508
|
show: true
|
|
462
509
|
}) : /*#__PURE__*/_react.default.createElement(AnswerPanel, {
|
|
510
|
+
flickerPosition: flickerPosition,
|
|
463
511
|
answer: resolvedAnswer
|
|
464
512
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
465
513
|
className: "puzzle--hanged__keyboard"
|
|
@@ -74,7 +74,7 @@ var UrlComponent = function UrlComponent(_ref) {
|
|
|
74
74
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
75
75
|
className: "icon-close"
|
|
76
76
|
})) : null, /*#__PURE__*/_react.default.createElement("span", {
|
|
77
|
-
className: "popup--link__title
|
|
77
|
+
className: "popup--link__title"
|
|
78
78
|
}, name), /*#__PURE__*/_react.default.createElement("span", {
|
|
79
79
|
className: "popup--link__desc"
|
|
80
80
|
}, text), /*#__PURE__*/_react.default.createElement("a", {
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@gamelearn/arcade-components",
|
|
3
3
|
"author": "Gamelearn",
|
|
4
4
|
"license": "unlicense",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.26.0",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"url": "https://github.com/gamelearn/arcade-components"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@gamelearn/arcade-styles": "0.
|
|
16
|
+
"@gamelearn/arcade-styles": "0.13.0",
|
|
17
17
|
"@gamelearn/arcade-three-core": "1.13.0",
|
|
18
18
|
"@react-three/drei": "9.4.3",
|
|
19
19
|
"@react-three/fiber": "8.0.10",
|