@gamelearn/arcade-components 1.25.1 → 1.26.1-hotfix-1-video
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/dialog-component/components/BubbleWrapper.js +58 -0
- package/dist/components/dialog-component/components/DialogComponent.js +17 -32
- package/dist/components/dialog-component/components/SpeechBubbleComponent.js +33 -5
- package/dist/components/hanged-puzzle-component/components/HangedPuzzleComponent.js +67 -19
- package/dist/components/url-component/components/UrlComponent.js +1 -1
- package/dist/components/video-visor/components/VideoVisor.js +1 -3
- package/package.json +2 -2
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _arcadeThreeCore = require("@gamelearn/arcade-three-core");
|
|
13
|
+
|
|
14
|
+
var _SpeechBubbleComponent = _interopRequireDefault(require("./SpeechBubbleComponent"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
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); }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
var cleanStyle = {
|
|
23
|
+
width: '100vw',
|
|
24
|
+
height: '100vh',
|
|
25
|
+
position: 'static'
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
var BubbleWrapper = function BubbleWrapper(_ref) {
|
|
29
|
+
var onLoad = _ref.onLoad,
|
|
30
|
+
position = _ref.position,
|
|
31
|
+
currentMessage = _ref.currentMessage;
|
|
32
|
+
var group = (0, _react.useRef)();
|
|
33
|
+
var bubble = (0, _react.useRef)();
|
|
34
|
+
|
|
35
|
+
var onBubbleBuild = function onBubbleBuild() {
|
|
36
|
+
onLoad(group, bubble);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
return /*#__PURE__*/_react.default.createElement("group", {
|
|
40
|
+
ref: group,
|
|
41
|
+
position: position
|
|
42
|
+
}, /*#__PURE__*/_react.default.createElement(_arcadeThreeCore.HtmlPro, {
|
|
43
|
+
zIndexRange: [2, 2],
|
|
44
|
+
calculatePosition: currentMessage.inScene ? undefined : function () {
|
|
45
|
+
return [0, 0];
|
|
46
|
+
},
|
|
47
|
+
style: currentMessage.inScene ? {
|
|
48
|
+
position: 'static'
|
|
49
|
+
} : cleanStyle
|
|
50
|
+
}, /*#__PURE__*/_react.default.createElement(_SpeechBubbleComponent.default, {
|
|
51
|
+
ref: bubble,
|
|
52
|
+
onLoad: onBubbleBuild,
|
|
53
|
+
message: currentMessage
|
|
54
|
+
})));
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
var _default = BubbleWrapper;
|
|
58
|
+
exports.default = _default;
|
|
@@ -19,8 +19,6 @@ var _arcadeThreeCore = require("@gamelearn/arcade-three-core");
|
|
|
19
19
|
|
|
20
20
|
var _gsap = _interopRequireDefault(require("gsap"));
|
|
21
21
|
|
|
22
|
-
var _SpeechBubbleComponent = _interopRequireDefault(require("./SpeechBubbleComponent"));
|
|
23
|
-
|
|
24
22
|
var _decisionComponent = _interopRequireDefault(require("../../decision-component"));
|
|
25
23
|
|
|
26
24
|
var _helpers = require("../../../helpers");
|
|
@@ -33,6 +31,8 @@ var _useEkho = _interopRequireDefault(require("../../../helpers/useEkho"));
|
|
|
33
31
|
|
|
34
32
|
var _LangIsRtl = _interopRequireDefault(require("../../../helpers/LangIsRtl"));
|
|
35
33
|
|
|
34
|
+
var _BubbleWrapper = _interopRequireDefault(require("./BubbleWrapper"));
|
|
35
|
+
|
|
36
36
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
37
|
|
|
38
38
|
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); }
|
|
@@ -151,8 +151,6 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
151
151
|
animationRunning = _useState12[0],
|
|
152
152
|
setAnimationRunning = _useState12[1];
|
|
153
153
|
|
|
154
|
-
var bubbleRef = (0, _react.useRef)();
|
|
155
|
-
var groupRef = (0, _react.useRef)();
|
|
156
154
|
var animationTarget = (0, _react.useRef)(new _three.Object3D());
|
|
157
155
|
var currentLine = lines[line];
|
|
158
156
|
var lastLine = lines[line - 1];
|
|
@@ -571,16 +569,16 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
571
569
|
};
|
|
572
570
|
}, [currentMessage, nextLine, start, stop, currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType, autoPlayCond, audio, voice, audioFailed]); // Positioning Bubble Message logic
|
|
573
571
|
|
|
574
|
-
var checkBubbleBounds = (0, _react.useCallback)(function () {
|
|
575
|
-
if (
|
|
572
|
+
var checkBubbleBounds = (0, _react.useCallback)(function (group, bubble) {
|
|
573
|
+
if (currentLine !== null && currentLine !== void 0 && currentLine.slots && currentMessage.show) {
|
|
576
574
|
var talkingCharacter = currentLine === null || currentLine === void 0 ? void 0 : currentLine.slots.find(function (slot) {
|
|
577
575
|
return slot.talking;
|
|
578
576
|
});
|
|
579
|
-
var bubbleRect =
|
|
577
|
+
var bubbleRect = bubble.current.getBoundingClientRect();
|
|
580
578
|
var x = bubbleRect.x + bubbleRect.width;
|
|
581
579
|
var y = bubbleRect.y - bubbleRect.height;
|
|
582
580
|
|
|
583
|
-
if (!messagePosition.current.isLeft || (x < 0 || x > window.innerWidth) && currentMessage.inScene) {
|
|
581
|
+
if (!messagePosition.current.isLeft && zoomInActor || (x < 0 || x > window.innerWidth) && currentMessage.inScene) {
|
|
584
582
|
var _messagePosition$curr = messagePosition.current,
|
|
585
583
|
child = _messagePosition$curr.child,
|
|
586
584
|
parent = _messagePosition$curr.parent;
|
|
@@ -589,17 +587,17 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
589
587
|
var target = new _three.Object3D();
|
|
590
588
|
child.getWorldPosition(target.position);
|
|
591
589
|
target.applyQuaternion(camera.quaternion);
|
|
592
|
-
|
|
593
|
-
|
|
590
|
+
group.current.position.copy(target.position);
|
|
591
|
+
group.current.updateMatrixWorld();
|
|
594
592
|
moveBubble(parent, target, false);
|
|
595
593
|
var divider = isMobile ? 10 : 6;
|
|
596
594
|
var distanceX = bubbleRect.width + bubbleRect.width / divider;
|
|
597
|
-
|
|
598
|
-
bubbleRect =
|
|
595
|
+
bubble.current.parentNode.style.transform = "translate3d(-".concat(distanceX, "px, -").concat(bubbleRect.height, "px, 0px)");
|
|
596
|
+
bubbleRect = bubble.current.getBoundingClientRect();
|
|
599
597
|
var completeOutside = x > window.innerWidth + bubbleRect.width || y < -bubbleRect.height || y > window.innerHeight || x < -bubbleRect.width || bubbleRect.x < 10;
|
|
600
598
|
|
|
601
599
|
if (completeOutside) {
|
|
602
|
-
|
|
600
|
+
bubble.current.parentNode.style.transform = '';
|
|
603
601
|
messagePosition.current.child = null;
|
|
604
602
|
messagePosition.current.parent = null;
|
|
605
603
|
}
|
|
@@ -615,13 +613,10 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
615
613
|
});
|
|
616
614
|
}
|
|
617
615
|
} else {
|
|
618
|
-
|
|
616
|
+
bubble.current.parentNode.style.transform = '';
|
|
619
617
|
}
|
|
620
618
|
}
|
|
621
619
|
}, [camera.quaternion, currentLine === null || currentLine === void 0 ? void 0 : currentLine.slots, currentMessage.inScene, getAvatarURL]);
|
|
622
|
-
(0, _react.useEffect)(function () {
|
|
623
|
-
checkBubbleBounds();
|
|
624
|
-
}, [checkBubbleBounds]);
|
|
625
620
|
(0, _react.useEffect)(function () {
|
|
626
621
|
if (animationRunning) {
|
|
627
622
|
var cam = camera;
|
|
@@ -716,21 +711,11 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
716
711
|
} // 🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
|
717
712
|
|
|
718
713
|
|
|
719
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, currentMessage.text ? /*#__PURE__*/_react.default.createElement(
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
calculatePosition: currentMessage.inScene ? undefined : function () {
|
|
725
|
-
return [0, 0];
|
|
726
|
-
},
|
|
727
|
-
style: currentMessage.inScene ? {
|
|
728
|
-
position: 'static'
|
|
729
|
-
} : cleanStyle
|
|
730
|
-
}, /*#__PURE__*/_react.default.createElement(_SpeechBubbleComponent.default, {
|
|
731
|
-
ref: bubbleRef,
|
|
732
|
-
message: currentMessage
|
|
733
|
-
}))) : null, /*#__PURE__*/_react.default.createElement(_arcadeThreeCore.HtmlPro, {
|
|
714
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, currentMessage.text ? /*#__PURE__*/_react.default.createElement(_BubbleWrapper.default, {
|
|
715
|
+
position: messagePosition.current.pos,
|
|
716
|
+
currentMessage: currentMessage,
|
|
717
|
+
onLoad: checkBubbleBounds
|
|
718
|
+
}) : null, /*#__PURE__*/_react.default.createElement(_arcadeThreeCore.HtmlPro, {
|
|
734
719
|
style: {
|
|
735
720
|
width: '100vw',
|
|
736
721
|
height: '100vh'
|
|
@@ -1,16 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports.default = void 0;
|
|
7
9
|
|
|
8
|
-
var _react =
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
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); }
|
|
13
|
+
|
|
14
|
+
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; }
|
|
15
|
+
|
|
16
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
|
+
|
|
18
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
19
|
|
|
10
|
-
function
|
|
20
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
21
|
+
|
|
22
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
23
|
+
|
|
24
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
25
|
+
|
|
26
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
27
|
|
|
12
28
|
var SpeechBubbleComponent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
13
|
-
var message = _ref.message
|
|
29
|
+
var message = _ref.message,
|
|
30
|
+
onLoad = _ref.onLoad;
|
|
31
|
+
|
|
32
|
+
var _useState = (0, _react.useState)(false),
|
|
33
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
34
|
+
mounted = _useState2[0],
|
|
35
|
+
setMounted = _useState2[1];
|
|
14
36
|
|
|
15
37
|
var getAvatar = function getAvatar() {
|
|
16
38
|
var avatarUrl = message.avatar;
|
|
@@ -27,7 +49,13 @@ var SpeechBubbleComponent = /*#__PURE__*/_react.default.forwardRef(function (_re
|
|
|
27
49
|
return avatarUrl;
|
|
28
50
|
};
|
|
29
51
|
|
|
30
|
-
|
|
52
|
+
(0, _react.useLayoutEffect)(function () {
|
|
53
|
+
if (!mounted) {
|
|
54
|
+
onLoad();
|
|
55
|
+
setMounted(true);
|
|
56
|
+
}
|
|
57
|
+
}, [onLoad, mounted]);
|
|
58
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
31
59
|
dir: "auto",
|
|
32
60
|
ref: ref,
|
|
33
61
|
className: "\n speech-bubble\n ".concat(message.left && message.inScene ? 'speech-bubble--arrow-left' : '', "\n ").concat(!message.left && message.inScene ? 'speech-bubble--arrow-right' : '', "\n ").concat(message.top && message.inScene ? 'arrow-top' : '', "\n ").concat(message.thinkful || message.voiceOver ? 'speech-bubble--italic' : '', "\n ")
|
|
@@ -48,7 +76,7 @@ var SpeechBubbleComponent = /*#__PURE__*/_react.default.forwardRef(function (_re
|
|
|
48
76
|
className: "speech-bubble__title"
|
|
49
77
|
}, message.name)), message.text ? /*#__PURE__*/_react.default.createElement("div", {
|
|
50
78
|
className: "speech-bubble__text"
|
|
51
|
-
}, message.text) : null))
|
|
79
|
+
}, message.text) : null));
|
|
52
80
|
});
|
|
53
81
|
|
|
54
82
|
var _default = SpeechBubbleComponent;
|
|
@@ -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", {
|
|
@@ -274,9 +274,7 @@ var VideoVisor = function VideoVisor(_ref) {
|
|
|
274
274
|
onEnded: onEnded,
|
|
275
275
|
onError: onError,
|
|
276
276
|
onPlaying: onPlaying
|
|
277
|
-
}, videoProps), /*#__PURE__*/_react.default.createElement("
|
|
278
|
-
kind: "captions"
|
|
279
|
-
})), loading ? /*#__PURE__*/_react.default.createElement("div", {
|
|
277
|
+
}, videoProps)), loading ? /*#__PURE__*/_react.default.createElement("div", {
|
|
280
278
|
className: "video-loading-container",
|
|
281
279
|
style: {
|
|
282
280
|
top: 0,
|
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.1-hotfix-1-video",
|
|
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",
|