@gamelearn/arcade-components 0.4.0 → 0.4.2-beta-terminal
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/arcade-render/element/AnimateElement.js +6 -2
- package/dist/components/arcade-render/element/index.js +10 -18
- package/dist/components/arcade-render/loading/LoadingLogic.js +28 -1
- package/dist/components/arcade-render/mocks/index.js +3 -3
- package/dist/components/chained-image-click-puzzle-component/components/ChainedImageClickPuzzleComponent.js +73 -0
- package/dist/components/chained-image-click-puzzle-component/components/CurrentImagePuzzle.js +155 -0
- package/dist/components/chained-image-click-puzzle-component/index.js +13 -0
- package/dist/components/chained-image-click-puzzle-component/mocks/mockForStory.js +163 -0
- package/dist/components/comic-component/mocks/mockForStory.js +4 -4
- package/dist/components/conversational-pro-component/components/scene/Panel.js +3 -0
- package/dist/components/conversational-pro-component/mocks/mockForStory.js +20 -20
- package/dist/components/drag-item-puzzle-component/components/DragItemPuzzleComponent.js +329 -0
- package/dist/components/drag-item-puzzle-component/components/Messages.js +55 -0
- package/dist/components/drag-item-puzzle-component/index.js +13 -0
- package/dist/components/drag-item-puzzle-component/mocks/mockForStory.js +79 -0
- package/dist/components/hanged-puzzle-component/mocks/mockForStory.js +1 -1
- package/dist/components/image-click-wrapper-component/components/Area/index.js +1 -1
- package/dist/components/image-click-wrapper-component/components/Feedback/index.js +4 -5
- package/dist/components/image-click-wrapper-component/components/ImageClickWrapperComponent.js +31 -17
- package/dist/components/image-component/mocks/mockForStory.js +3 -3
- package/dist/components/index.js +40 -0
- package/dist/components/inventory-item/components/InventoryItem.js +2 -1
- package/dist/components/keyboard-puzzle-component/mocks/mockForStory.js +1 -1
- package/dist/components/login-puzzle-component/mocks/mockForStory.js +3 -3
- package/dist/components/pdf-component/components/PdfComponent.js +40 -7
- package/dist/components/pdf-component/components/PdfVisor.js +86 -33
- package/dist/components/pdf-component/mocks/mockForProps.js +21 -5
- package/dist/components/terminal-puzzle-component/components/FilesGroup/Item.js +32 -0
- package/dist/components/terminal-puzzle-component/components/FilesGroup/index.js +74 -0
- package/dist/components/terminal-puzzle-component/components/Image/index.js +26 -0
- package/dist/components/terminal-puzzle-component/components/TerminalPuzzleComponent.js +163 -0
- package/dist/components/terminal-puzzle-component/components/Visor/index.js +133 -0
- package/dist/components/terminal-puzzle-component/components/utils/index.js +29 -0
- package/dist/components/terminal-puzzle-component/index.js +13 -0
- package/dist/components/terminal-puzzle-component/mocks/mockForStory.js +190 -0
- package/dist/components/video-component/mocks/mockForStory.js +5 -5
- package/dist/components/video-visor/mocks/mockForStory.js +4 -4
- package/dist/components/web-builder-puzzle-component/Popups/PopupColorComponent/index.js +99 -0
- package/dist/components/web-builder-puzzle-component/Popups/PopupImageComponent/index.js +113 -0
- package/dist/components/web-builder-puzzle-component/Popups/PopupTextComponent/index.js +122 -0
- package/dist/components/web-builder-puzzle-component/Popups/index.js +31 -0
- package/dist/components/web-builder-puzzle-component/Templates/Bank.js +98 -0
- package/dist/components/web-builder-puzzle-component/Templates/Facebook.js +39 -0
- package/dist/components/web-builder-puzzle-component/Templates/resourcePath.js +9 -0
- package/dist/components/web-builder-puzzle-component/components/EditButton/index.js +28 -0
- package/dist/components/web-builder-puzzle-component/components/Feedback/index.js +38 -0
- package/dist/components/web-builder-puzzle-component/components/PublishButton/index.js +29 -0
- package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/BankBody.js +124 -0
- package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/FacebookBody.js +154 -0
- package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/index.js +32 -0
- package/dist/components/web-builder-puzzle-component/components/WebBuilderFront/index.js +98 -0
- package/dist/components/web-builder-puzzle-component/components/WebBuilderHeader/BankHeader.js +92 -0
- package/dist/components/web-builder-puzzle-component/components/WebBuilderHeader/FacebookHeader.js +50 -0
- package/dist/components/web-builder-puzzle-component/components/WebBuilderHeader/index.js +47 -0
- package/dist/components/web-builder-puzzle-component/components/WebBuilderPuzzleComponent.js +337 -0
- package/dist/components/web-builder-puzzle-component/components/WebBuilderTopBar/index.js +36 -0
- package/dist/components/web-builder-puzzle-component/index.js +13 -0
- package/dist/components/web-builder-puzzle-component/mocks/mockForStory.js +29 -0
- package/dist/components/writer-puzzle-component/components/ElectionComponent.js +89 -0
- package/dist/components/writer-puzzle-component/components/FeedbackComponent.js +138 -0
- package/dist/components/writer-puzzle-component/components/FeedbackElement.js +40 -0
- package/dist/components/writer-puzzle-component/components/FinishedTextComponent.js +36 -0
- package/dist/components/writer-puzzle-component/components/FixedComponent.js +166 -0
- package/dist/components/writer-puzzle-component/components/Rewards.js +203 -0
- package/dist/components/writer-puzzle-component/components/SingleElection.js +141 -0
- package/dist/components/writer-puzzle-component/components/WriterPuzzleComponent.js +552 -0
- package/dist/components/writer-puzzle-component/index.js +13 -0
- package/dist/components/writer-puzzle-component/mocks/mockForStory.js +861 -0
- package/dist/helpers/drawLOD.js +35 -47
- package/dist/helpers/useGLB.js +22 -8
- package/package.json +6 -14
|
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.withoutBackground = exports.voiceOverProps = exports.conversationProps = exports.converOld = void 0;
|
|
7
7
|
var animations = {
|
|
8
8
|
neutral: {
|
|
9
|
-
url: 'https://
|
|
9
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/5981fca94d82290bcbe957fe/animation/5f06e116f9efdd00112fcc6f/male_missunderstand_1.glb'
|
|
10
10
|
},
|
|
11
11
|
angry: {
|
|
12
|
-
url: 'https://
|
|
12
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/5981fca94d82290bcbe957fe/animation/5e4a5b4a8487c3000fb7a3bd/standmale_1_angry.glb'
|
|
13
13
|
},
|
|
14
14
|
sad: {
|
|
15
|
-
url: 'https://
|
|
15
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/5981fca94d82290bcbe957fe/animation/5f06e116f9efdd00112fcc6f/male_missunderstand_1.glb'
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
18
|
var converOld = {
|
|
@@ -44,7 +44,7 @@ var converOld = {
|
|
|
44
44
|
characters: [{
|
|
45
45
|
name: 'Puerta',
|
|
46
46
|
resource: {
|
|
47
|
-
url: 'https://
|
|
47
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/5981fca94d82290bcbe957fe/character/5f5214cec39e26001123797f/ch0112_philip_001.glb',
|
|
48
48
|
animations: animations
|
|
49
49
|
},
|
|
50
50
|
type: 'character',
|
|
@@ -52,7 +52,7 @@ var converOld = {
|
|
|
52
52
|
}, {
|
|
53
53
|
name: 'taxi',
|
|
54
54
|
resource: {
|
|
55
|
-
url: 'https://
|
|
55
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/5981fca94d82290bcbe957fe/object/5eff09c2085be00011aae087/pr0238_yacht_001.glb'
|
|
56
56
|
},
|
|
57
57
|
type: 'object',
|
|
58
58
|
uid: 'qejIfp'
|
|
@@ -62,7 +62,7 @@ var converOld = {
|
|
|
62
62
|
imgId: '5e81fb36bbb333000f68a804',
|
|
63
63
|
imgName: '01_GRAFICO_ASAP_Mesa de trabajo 1 copia 10.jpg',
|
|
64
64
|
img: {
|
|
65
|
-
url: 'https://
|
|
65
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/605369a5901f3e00123b81ca/b27bb40dcb1189d14012131a35b48a36.jpeg'
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
};
|
|
@@ -287,14 +287,14 @@ var conversationProps = {
|
|
|
287
287
|
imgId: '605369a5901f3e00123b81ca',
|
|
288
288
|
imgName: 'b27bb40dcb1189d14012131a35b48a36.jpeg',
|
|
289
289
|
img: {
|
|
290
|
-
url: 'https://
|
|
290
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/605369a5901f3e00123b81ca/b27bb40dcb1189d14012131a35b48a36.jpeg'
|
|
291
291
|
}
|
|
292
292
|
},
|
|
293
293
|
characters: [{
|
|
294
294
|
name: 'Testing',
|
|
295
295
|
resourceId: '5f68d7b6a373890011a78a11',
|
|
296
296
|
resource: {
|
|
297
|
-
url: 'https://
|
|
297
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/5981fca94d82290bcbe957fe/object/5eff09c2085be00011aae087/pr0238_yacht_001.glb'
|
|
298
298
|
},
|
|
299
299
|
type: 'object',
|
|
300
300
|
uid: 'DbKslR'
|
|
@@ -302,7 +302,7 @@ var conversationProps = {
|
|
|
302
302
|
name: 'Male senior dark-skinned 01',
|
|
303
303
|
resourceId: '5f5214cec39e26001123797f',
|
|
304
304
|
resource: {
|
|
305
|
-
url: 'https://
|
|
305
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/5981fca94d82290bcbe957fe/character/5f5214cec39e26001123797f/ch0112_philip_001.glb',
|
|
306
306
|
animations: animations
|
|
307
307
|
},
|
|
308
308
|
type: 'character',
|
|
@@ -311,7 +311,7 @@ var conversationProps = {
|
|
|
311
311
|
name: 'Female senior light-skinned 01',
|
|
312
312
|
resourceId: '5f5214cec39e26001123797f',
|
|
313
313
|
resource: {
|
|
314
|
-
url: 'https://gl-lms-storage
|
|
314
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/5981fca94d82290bcbe957fe/character/5f60759328beb100113b694c/ch0116_bima_001_rig_v01_llaveronuevo.glb',
|
|
315
315
|
animations: {
|
|
316
316
|
neutral: {
|
|
317
317
|
resource: {}
|
|
@@ -324,7 +324,7 @@ var conversationProps = {
|
|
|
324
324
|
name: 'Taxi',
|
|
325
325
|
resourceId: '5f5214cec39e26001123797f',
|
|
326
326
|
resource: {
|
|
327
|
-
url: 'https://gl-lms-storage
|
|
327
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/5981fca94d82290bcbe957fe/object/5e53b649ef1f60000fb9cc1c/draco_pr0065_car_004.glb'
|
|
328
328
|
},
|
|
329
329
|
type: 'object',
|
|
330
330
|
uid: 'kjTHqx'
|
|
@@ -374,7 +374,7 @@ var voiceOverProps = {
|
|
|
374
374
|
}],
|
|
375
375
|
audioId: '5f1078861d84860011e179d0',
|
|
376
376
|
audio: {
|
|
377
|
-
url: 'https://
|
|
377
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/documents/Cat-sound.mp3'
|
|
378
378
|
},
|
|
379
379
|
hasAlias: true,
|
|
380
380
|
text_labelId: 'text_0_nlrZj4Nr',
|
|
@@ -421,7 +421,7 @@ var voiceOverProps = {
|
|
|
421
421
|
}],
|
|
422
422
|
audioId: 'patata',
|
|
423
423
|
audio: {
|
|
424
|
-
url: 'https://
|
|
424
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/audio/5f646497f6d21e001139b0ed/coin.wav'
|
|
425
425
|
},
|
|
426
426
|
hasAlias: true,
|
|
427
427
|
text_labelId: 'text_1_nlrZlzvp',
|
|
@@ -438,14 +438,14 @@ var voiceOverProps = {
|
|
|
438
438
|
imgId: '605369a5901f3e00123b81ca',
|
|
439
439
|
imgName: 'b27bb40dcb1189d14012131a35b48a36.jpeg',
|
|
440
440
|
img: {
|
|
441
|
-
url: 'https://
|
|
441
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/605369a5901f3e00123b81ca/b27bb40dcb1189d14012131a35b48a36.jpeg'
|
|
442
442
|
}
|
|
443
443
|
},
|
|
444
444
|
characters: [{
|
|
445
445
|
name: 'Male adult medium-skinned 12',
|
|
446
446
|
resourceId: '5f68d7b6a373890011a78a11',
|
|
447
447
|
resource: {
|
|
448
|
-
url: 'https://
|
|
448
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/5981fca94d82290bcbe957fe/character/5f68d7b6a373890011a78a11/ch0010_carlo_saggio.glb',
|
|
449
449
|
animations: animations
|
|
450
450
|
},
|
|
451
451
|
type: 'character',
|
|
@@ -454,7 +454,7 @@ var voiceOverProps = {
|
|
|
454
454
|
name: 'Male senior dark-skinned 01',
|
|
455
455
|
resourceId: '5f5214cec39e26001123797f',
|
|
456
456
|
resource: {
|
|
457
|
-
url: 'https://
|
|
457
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/5981fca94d82290bcbe957fe/character/5f5214cec39e26001123797f/ch0112_philip_001.glb',
|
|
458
458
|
animations: animations
|
|
459
459
|
},
|
|
460
460
|
type: 'character',
|
|
@@ -505,7 +505,7 @@ var withoutBackground = {
|
|
|
505
505
|
}],
|
|
506
506
|
audioId: '5f1078861d84860011e179d0',
|
|
507
507
|
audio: {
|
|
508
|
-
url: 'https://
|
|
508
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/documents/Cat-sound.mp3'
|
|
509
509
|
},
|
|
510
510
|
hasAlias: true,
|
|
511
511
|
text_labelId: 'text_0_nlrZj4Nr',
|
|
@@ -552,7 +552,7 @@ var withoutBackground = {
|
|
|
552
552
|
}],
|
|
553
553
|
audioId: 'patata',
|
|
554
554
|
audio: {
|
|
555
|
-
url: 'https://
|
|
555
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/audio/5f646497f6d21e001139b0ed/coin.wav'
|
|
556
556
|
},
|
|
557
557
|
hasAlias: true,
|
|
558
558
|
text_labelId: 'text_1_nlrZlzvp',
|
|
@@ -570,7 +570,7 @@ var withoutBackground = {
|
|
|
570
570
|
name: 'Male adult medium-skinned 12',
|
|
571
571
|
resourceId: '5f68d7b6a373890011a78a11',
|
|
572
572
|
resource: {
|
|
573
|
-
url: 'https://
|
|
573
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/5981fca94d82290bcbe957fe/character/5f68d7b6a373890011a78a11/ch0010_carlo_saggio.glb',
|
|
574
574
|
animations: animations
|
|
575
575
|
},
|
|
576
576
|
animations: animations,
|
|
@@ -580,7 +580,7 @@ var withoutBackground = {
|
|
|
580
580
|
name: 'Male senior dark-skinned 01',
|
|
581
581
|
resourceId: '5f5214cec39e26001123797f',
|
|
582
582
|
resource: {
|
|
583
|
-
url: 'https://
|
|
583
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/5981fca94d82290bcbe957fe/character/5f5214cec39e26001123797f/ch0112_philip_001.glb',
|
|
584
584
|
animations: animations
|
|
585
585
|
},
|
|
586
586
|
animations: animations,
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _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 _interactjs = _interopRequireDefault(require("interactjs"));
|
|
13
|
+
|
|
14
|
+
var _reactKonva = require("react-konva");
|
|
15
|
+
|
|
16
|
+
var _Messages = require("./Messages");
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
|
|
20
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
21
|
+
|
|
22
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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; }
|
|
23
|
+
|
|
24
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
25
|
+
|
|
26
|
+
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; }
|
|
27
|
+
|
|
28
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
29
|
+
|
|
30
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
31
|
+
|
|
32
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
33
|
+
|
|
34
|
+
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."); }
|
|
35
|
+
|
|
36
|
+
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); }
|
|
37
|
+
|
|
38
|
+
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; }
|
|
39
|
+
|
|
40
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr && (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; }
|
|
41
|
+
|
|
42
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
43
|
+
|
|
44
|
+
var DragItemPuzzleComponent = function DragItemPuzzleComponent(_ref) {
|
|
45
|
+
var area = _ref.area,
|
|
46
|
+
image = _ref.image,
|
|
47
|
+
resolveObject = _ref.resolveObject,
|
|
48
|
+
info = _ref.info,
|
|
49
|
+
hasHighlights = _ref.hasHighlights,
|
|
50
|
+
consume = _ref.consume,
|
|
51
|
+
disableExit = _ref.disableExit,
|
|
52
|
+
emitEvent = _ref.emitEvent,
|
|
53
|
+
soundActions = _ref.soundActions;
|
|
54
|
+
var solution = info.solution;
|
|
55
|
+
var areaRef = (0, _react.useRef)();
|
|
56
|
+
var areaTextRef = (0, _react.useRef)();
|
|
57
|
+
var stageRef = (0, _react.useRef)();
|
|
58
|
+
var canvas = (0, _react.useRef)();
|
|
59
|
+
var layerConfig = (0, _react.useRef)({});
|
|
60
|
+
|
|
61
|
+
var _useState = (0, _react.useState)(false),
|
|
62
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
63
|
+
success = _useState2[0],
|
|
64
|
+
setSucess = _useState2[1];
|
|
65
|
+
|
|
66
|
+
var _useState3 = (0, _react.useState)(false),
|
|
67
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
68
|
+
failed = _useState4[0],
|
|
69
|
+
setFailed = _useState4[1];
|
|
70
|
+
|
|
71
|
+
var _useState5 = (0, _react.useState)(false),
|
|
72
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
73
|
+
showTooltip = _useState6[0],
|
|
74
|
+
setShowTooltip = _useState6[1];
|
|
75
|
+
|
|
76
|
+
var _useState7 = (0, _react.useState)(false),
|
|
77
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
78
|
+
imageLoaded = _useState8[0],
|
|
79
|
+
setImageLoaded = _useState8[1];
|
|
80
|
+
|
|
81
|
+
var _useState9 = (0, _react.useState)(new window.Image()),
|
|
82
|
+
_useState10 = _slicedToArray(_useState9, 1),
|
|
83
|
+
currentImage = _useState10[0];
|
|
84
|
+
|
|
85
|
+
var _soundActions = _slicedToArray(soundActions, 1),
|
|
86
|
+
playSound = _soundActions[0];
|
|
87
|
+
|
|
88
|
+
var translate = function translate(id) {
|
|
89
|
+
return emitEvent({
|
|
90
|
+
type: 'translate',
|
|
91
|
+
payload: id
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
(0, _react.useEffect)(function () {
|
|
96
|
+
if (success) {
|
|
97
|
+
disableExit(true);
|
|
98
|
+
}
|
|
99
|
+
}, [success, disableExit]);
|
|
100
|
+
|
|
101
|
+
var intersectRect = function intersectRect(a, b) {
|
|
102
|
+
return (a.x + a.width > b.x && a.x + a.width <= b.x + b.width || b.x + b.width > a.x && b.x + b.width <= a.x + a.width) && (a.y + a.height > b.y && a.y + a.height <= b.y + b.height || b.y + b.height > a.y && b.y + b.height <= a.y + a.height);
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
var mouseEnterArea = function mouseEnterArea() {
|
|
106
|
+
if (areaRef && hasHighlights) {
|
|
107
|
+
areaRef.current.to({
|
|
108
|
+
duration: 0.25,
|
|
109
|
+
opacity: 0.75
|
|
110
|
+
});
|
|
111
|
+
areaTextRef.current.to({
|
|
112
|
+
duration: 0.25,
|
|
113
|
+
opacity: 0.4
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
var mouseLeaveArea = function mouseLeaveArea() {
|
|
119
|
+
if (areaRef && hasHighlights) {
|
|
120
|
+
areaRef.current.to({
|
|
121
|
+
duration: 0.25,
|
|
122
|
+
opacity: 0
|
|
123
|
+
});
|
|
124
|
+
areaTextRef.current.to({
|
|
125
|
+
duration: 0.25,
|
|
126
|
+
opacity: 0
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
var calculateOverArea = (0, _react.useCallback)(function (e) {
|
|
132
|
+
var over = false;
|
|
133
|
+
|
|
134
|
+
if (e) {
|
|
135
|
+
var stage = stageRef.current;
|
|
136
|
+
var lastMousePos = JSON.parse(e.relatedTarget.getAttribute('data-lastEvent'));
|
|
137
|
+
stage.setPointersPositions(lastMousePos);
|
|
138
|
+
var mousePos = stage.getPointerPosition();
|
|
139
|
+
var areaPos = areaRef.current.getClientRect({
|
|
140
|
+
relativeTo: stage
|
|
141
|
+
});
|
|
142
|
+
over = intersectRect(_objectSpread(_objectSpread({}, mousePos), {}, {
|
|
143
|
+
width: 1,
|
|
144
|
+
height: 1
|
|
145
|
+
}), areaPos);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
return over;
|
|
149
|
+
}, []);
|
|
150
|
+
var checkCorrectObject = (0, _react.useCallback)(function (object) {
|
|
151
|
+
return object && resolveObject.uid === JSON.parse(object).uid;
|
|
152
|
+
}, [resolveObject.uid]);
|
|
153
|
+
var handleFinish = (0, _react.useCallback)(function () {
|
|
154
|
+
var rewards = solution.right.rewards;
|
|
155
|
+
emitEvent({
|
|
156
|
+
type: 'addPoints',
|
|
157
|
+
payload: rewards
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
if (consume) {
|
|
161
|
+
emitEvent({
|
|
162
|
+
type: 'consumeItem',
|
|
163
|
+
payload: {
|
|
164
|
+
uid: resolveObject.uid,
|
|
165
|
+
targetId: resolveObject.uid,
|
|
166
|
+
name: resolveObject.name
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
emitEvent({
|
|
172
|
+
type: 'closeUI',
|
|
173
|
+
ui: 'inventory'
|
|
174
|
+
});
|
|
175
|
+
}, [consume, emitEvent, resolveObject.name, resolveObject.uid, solution.right]);
|
|
176
|
+
var handleDrop = (0, _react.useCallback)(function (e) {
|
|
177
|
+
e.dragEvent.stopPropagation();
|
|
178
|
+
e.dragEvent.preventDefault();
|
|
179
|
+
var over = calculateOverArea(e.dragEvent);
|
|
180
|
+
var object = e.relatedTarget.getAttribute('data-item');
|
|
181
|
+
|
|
182
|
+
if (over && checkCorrectObject(object)) {
|
|
183
|
+
playSound('score');
|
|
184
|
+
setSucess(true);
|
|
185
|
+
emitEvent({
|
|
186
|
+
type: 'closeUI',
|
|
187
|
+
ui: 'inventory'
|
|
188
|
+
});
|
|
189
|
+
setTimeout(function () {
|
|
190
|
+
handleFinish();
|
|
191
|
+
}, 4000);
|
|
192
|
+
} else {
|
|
193
|
+
emitEvent({
|
|
194
|
+
type: 'closeUI',
|
|
195
|
+
ui: 'inventory'
|
|
196
|
+
});
|
|
197
|
+
playSound('fail');
|
|
198
|
+
setFailed(true);
|
|
199
|
+
setTimeout(function () {
|
|
200
|
+
setFailed(false);
|
|
201
|
+
}, 4000);
|
|
202
|
+
}
|
|
203
|
+
}, [calculateOverArea, checkCorrectObject, emitEvent, handleFinish, playSound]);
|
|
204
|
+
(0, _react.useEffect)(function () {
|
|
205
|
+
var imageUrl = image.img.url || '';
|
|
206
|
+
currentImage.src = imageUrl;
|
|
207
|
+
|
|
208
|
+
currentImage.onload = function () {
|
|
209
|
+
layerConfig.current = {
|
|
210
|
+
x: canvas.current.clientWidth / 2,
|
|
211
|
+
y: canvas.current.clientHeight / 2,
|
|
212
|
+
width: currentImage.width,
|
|
213
|
+
height: currentImage.height,
|
|
214
|
+
offsetX: currentImage.width / 2,
|
|
215
|
+
offsetY: currentImage.height / 2,
|
|
216
|
+
scale: {
|
|
217
|
+
x: Math.min(canvas.current.clientWidth / currentImage.width, canvas.current.clientHeight / currentImage.height),
|
|
218
|
+
y: Math.min(canvas.current.clientWidth / currentImage.width, canvas.current.clientHeight / currentImage.height)
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
setImageLoaded(true);
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
setShowTooltip(true);
|
|
225
|
+
var inventoryButton = document.getElementById('inventory_screen-button');
|
|
226
|
+
|
|
227
|
+
if (inventoryButton) {
|
|
228
|
+
inventoryButton.classList.add('highlight');
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
var timeout = setTimeout(function () {
|
|
232
|
+
setShowTooltip(false);
|
|
233
|
+
|
|
234
|
+
if (inventoryButton) {
|
|
235
|
+
inventoryButton.classList.remove('highlight');
|
|
236
|
+
}
|
|
237
|
+
}, 3000);
|
|
238
|
+
return function () {
|
|
239
|
+
if (timeout) clearTimeout(timeout);
|
|
240
|
+
};
|
|
241
|
+
}, [currentImage, image.img.url]);
|
|
242
|
+
var handleStageRef = (0, _react.useCallback)(function (node) {
|
|
243
|
+
if (node !== null) {
|
|
244
|
+
stageRef.current = node;
|
|
245
|
+
node.container().addEventListener('mousemove', function (e) {
|
|
246
|
+
node.setPointersPositions(e);
|
|
247
|
+
});
|
|
248
|
+
(0, _interactjs.default)(node.container()).dropzone({
|
|
249
|
+
listeners: {
|
|
250
|
+
drop: handleDrop
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
}, [handleDrop]);
|
|
255
|
+
|
|
256
|
+
var handleAreaRef = function handleAreaRef(node) {
|
|
257
|
+
if (node !== null) {
|
|
258
|
+
areaRef.current = node;
|
|
259
|
+
}
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
var handleAreaTextRef = function handleAreaTextRef(node) {
|
|
263
|
+
if (node !== null) {
|
|
264
|
+
areaTextRef.current = node;
|
|
265
|
+
|
|
266
|
+
if (areaRef.current) {
|
|
267
|
+
var _areaRef$current$getC = areaRef.current.getClientRect(),
|
|
268
|
+
x = _areaRef$current$getC.x,
|
|
269
|
+
y = _areaRef$current$getC.y,
|
|
270
|
+
areaWidth = _areaRef$current$getC.width,
|
|
271
|
+
areaHeight = _areaRef$current$getC.height;
|
|
272
|
+
|
|
273
|
+
node.setAttr('x', x);
|
|
274
|
+
node.setAttr('y', y);
|
|
275
|
+
node.setAttr('height', areaHeight);
|
|
276
|
+
node.setAttr('width', areaWidth);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
282
|
+
className: "puzzle--drag__mask100"
|
|
283
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
284
|
+
className: "puzzle--drag__mask"
|
|
285
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
286
|
+
ref: canvas,
|
|
287
|
+
"data-testid": "mask_canvas",
|
|
288
|
+
className: "puzzle--drag__mask--canvas"
|
|
289
|
+
}, imageLoaded ? /*#__PURE__*/_react.default.createElement(_reactKonva.Stage, {
|
|
290
|
+
ref: handleStageRef,
|
|
291
|
+
width: canvas.current.clientWidth,
|
|
292
|
+
height: canvas.current.clientHeight
|
|
293
|
+
}, /*#__PURE__*/_react.default.createElement(_reactKonva.Layer, null, /*#__PURE__*/_react.default.createElement(_reactKonva.Image, _extends({
|
|
294
|
+
image: currentImage
|
|
295
|
+
}, layerConfig.current)), /*#__PURE__*/_react.default.createElement(_reactKonva.Group, layerConfig.current, /*#__PURE__*/_react.default.createElement(_reactKonva.Line, _extends({
|
|
296
|
+
onMouseEnter: mouseEnterArea,
|
|
297
|
+
onMouseLeave: mouseLeaveArea,
|
|
298
|
+
ref: handleAreaRef
|
|
299
|
+
}, area, {
|
|
300
|
+
shape: "poly",
|
|
301
|
+
fill: "#262a31d9",
|
|
302
|
+
stroke: "white",
|
|
303
|
+
strokeWidth: 1,
|
|
304
|
+
opacity: 0,
|
|
305
|
+
dash: [3, 2],
|
|
306
|
+
closed: true
|
|
307
|
+
}))), /*#__PURE__*/_react.default.createElement(_reactKonva.Text, {
|
|
308
|
+
onMouseEnter: mouseEnterArea,
|
|
309
|
+
onMouseLeave: mouseLeaveArea,
|
|
310
|
+
ref: handleAreaTextRef,
|
|
311
|
+
text: translate('puzzle.drag.dropzone'),
|
|
312
|
+
fontSize: 12,
|
|
313
|
+
align: "center",
|
|
314
|
+
verticalAlign: "middle",
|
|
315
|
+
fill: "#ffffff",
|
|
316
|
+
opacity: 0
|
|
317
|
+
}))) : null)), showTooltip && /*#__PURE__*/_react.default.createElement(_Messages.TooltipHint, {
|
|
318
|
+
translate: translate
|
|
319
|
+
}), success && /*#__PURE__*/_react.default.createElement(_Messages.SuccessMessage, {
|
|
320
|
+
translate: translate,
|
|
321
|
+
desc: solution.right.desc
|
|
322
|
+
}), failed && /*#__PURE__*/_react.default.createElement(_Messages.FailedMessage, {
|
|
323
|
+
translate: translate,
|
|
324
|
+
desc: solution.wrong.desc
|
|
325
|
+
}));
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
var _default = DragItemPuzzleComponent;
|
|
329
|
+
exports.default = _default;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TooltipHint = exports.FailedMessage = exports.SuccessMessage = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
var SuccessMessage = function SuccessMessage(_ref) {
|
|
13
|
+
var translate = _ref.translate,
|
|
14
|
+
desc = _ref.desc;
|
|
15
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
16
|
+
className: "puzzle--image__result bottom success",
|
|
17
|
+
style: {
|
|
18
|
+
zIndex: 11
|
|
19
|
+
}
|
|
20
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
21
|
+
className: "title"
|
|
22
|
+
}, translate('tooltip.correct')), /*#__PURE__*/_react.default.createElement("span", {
|
|
23
|
+
className: "description"
|
|
24
|
+
}, desc ? desc : null));
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
exports.SuccessMessage = SuccessMessage;
|
|
28
|
+
|
|
29
|
+
var FailedMessage = function FailedMessage(_ref2) {
|
|
30
|
+
var translate = _ref2.translate,
|
|
31
|
+
desc = _ref2.desc;
|
|
32
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
33
|
+
className: "puzzle--image__result bottom failed",
|
|
34
|
+
style: {
|
|
35
|
+
zIndex: 11
|
|
36
|
+
}
|
|
37
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
38
|
+
className: "title"
|
|
39
|
+
}, translate('tooltip.incorrect')), /*#__PURE__*/_react.default.createElement("span", {
|
|
40
|
+
className: "description"
|
|
41
|
+
}, desc ? desc : null));
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
exports.FailedMessage = FailedMessage;
|
|
45
|
+
|
|
46
|
+
var TooltipHint = function TooltipHint(_ref3) {
|
|
47
|
+
var translate = _ref3.translate;
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
49
|
+
className: "tooltip tooltip--bottom__right puzzle--drag__mask--tooltip"
|
|
50
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
51
|
+
className: "icon-search-thin"
|
|
52
|
+
}), /*#__PURE__*/_react.default.createElement("span", null, translate('tooltip.bag')));
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
exports.TooltipHint = TooltipHint;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _DragItemPuzzleComponent = _interopRequireDefault(require("./components/DragItemPuzzleComponent"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
var _default = _DragItemPuzzleComponent.default;
|
|
13
|
+
exports.default = _default;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.mockProps = void 0;
|
|
7
|
+
|
|
8
|
+
var emitEvent = function emitEvent(_ref) {
|
|
9
|
+
var type = _ref.type,
|
|
10
|
+
payload = _ref.payload;
|
|
11
|
+
console.log('Emit event called');
|
|
12
|
+
|
|
13
|
+
if (type === 'translate') {
|
|
14
|
+
return payload;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
var soundActions = [function () {}, function () {}];
|
|
19
|
+
var mockProps = {
|
|
20
|
+
emitEvent: emitEvent,
|
|
21
|
+
soundActions: soundActions,
|
|
22
|
+
resolveObject: {
|
|
23
|
+
uid: '123',
|
|
24
|
+
name: 'cube',
|
|
25
|
+
type: 'object'
|
|
26
|
+
},
|
|
27
|
+
area: {
|
|
28
|
+
closed: true,
|
|
29
|
+
draggable: true,
|
|
30
|
+
fill: 'rgba(63, 65, 70, 0.65)',
|
|
31
|
+
name: 'DefaultArea',
|
|
32
|
+
offsetX: 0,
|
|
33
|
+
offsetY: 0,
|
|
34
|
+
points: [552.3175, 277.64966809839905, 481.945, 522.7914096056227, 1356.27, 601.6631003514252, 1260.3075, 192.38297540023427],
|
|
35
|
+
rotation: 0,
|
|
36
|
+
scaleX: 1,
|
|
37
|
+
scaleY: 1,
|
|
38
|
+
skewX: 0,
|
|
39
|
+
skewY: 0,
|
|
40
|
+
stroke: '#007eff',
|
|
41
|
+
strokeWidth: 2,
|
|
42
|
+
x: 0,
|
|
43
|
+
y: 0
|
|
44
|
+
},
|
|
45
|
+
hasHighlights: true,
|
|
46
|
+
consume: true,
|
|
47
|
+
image: {
|
|
48
|
+
height: 1280,
|
|
49
|
+
img: {
|
|
50
|
+
name: 'perro_grande.jpg',
|
|
51
|
+
resourceId: '60b0b2096deb7a0011206029',
|
|
52
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/60b0b2096deb7a0011206029/perro_grande.jpg'
|
|
53
|
+
},
|
|
54
|
+
imgName: 'perro_grande.jpg'
|
|
55
|
+
},
|
|
56
|
+
info: {
|
|
57
|
+
hint: {
|
|
58
|
+
active: false,
|
|
59
|
+
desc: 'hint',
|
|
60
|
+
rewards: []
|
|
61
|
+
},
|
|
62
|
+
resolve: {
|
|
63
|
+
rewards: []
|
|
64
|
+
},
|
|
65
|
+
solution: {
|
|
66
|
+
right: {
|
|
67
|
+
desc: 'correctSolution',
|
|
68
|
+
rewards: []
|
|
69
|
+
},
|
|
70
|
+
wrong: {
|
|
71
|
+
desc: 'wrongSolution',
|
|
72
|
+
rewards: []
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
instructions: 'instructions',
|
|
76
|
+
description: 'description'
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
exports.mockProps = mockProps;
|
|
@@ -23,7 +23,7 @@ var mockProps = {
|
|
|
23
23
|
disableExit: disableExit,
|
|
24
24
|
image: {
|
|
25
25
|
img: {
|
|
26
|
-
url: 'https://
|
|
26
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/60508f84901f3e00123a0796/holamundo.jpg'
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
question: 'Hola amigos, ¿como están?',
|