@gamelearn/arcade-components 1.1.4 → 1.2.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/dist/components/arcade-render/background/index.js +24 -0
- package/dist/components/arcade-render/background/scene-elements/customGeometry/index.js +46 -0
- package/dist/components/arcade-render/background/scene-elements/index.js +106 -0
- package/dist/components/arcade-render/element/AnimateElement.js +136 -0
- package/dist/components/arcade-render/element/BoundingBox.js +65 -0
- package/dist/components/arcade-render/element/Projection.js +38 -0
- package/dist/components/arcade-render/element/index.js +163 -0
- package/dist/components/arcade-render/elements-list/ClickableArea.js +94 -0
- package/dist/components/arcade-render/elements-list/Poster.js +92 -0
- package/dist/components/arcade-render/elements-list/index.js +165 -0
- package/dist/components/arcade-render/light/index.js +35 -0
- package/dist/components/arcade-render/light/useLight.js +62 -0
- package/dist/components/arcade-render/loading/Loading.js +54 -0
- package/dist/components/arcade-render/loading/LoadingLogic.js +56 -0
- package/dist/components/arcade-render/loading/index.js +13 -0
- package/dist/components/arcade-render/mocks/index.js +32 -0
- package/dist/components/arcade-render/scene/ConfigController.js +68 -0
- package/dist/components/arcade-render/scene/index.js +129 -0
- package/dist/components/arcade-render/scene/useCameraPan.js +115 -0
- package/dist/components/conversational-pro-component/components/ConversationalProComponent.js +8 -13
- package/dist/components/dialog-component/components/DialogComponent.js +10 -16
- package/dist/components/hanged-puzzle-component/components/HangedPuzzleComponent.js +27 -9
- package/dist/components/index.js +56 -0
- package/dist/components/login-puzzle-component/components/LoginPuzzleComponent.js +1 -3
- package/dist/components/video-visor/components/VideoVisor.js +0 -1
- package/package.json +1 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
var _fiber = require("@react-three/fiber");
|
|
11
|
+
|
|
12
|
+
var _useCameraPan = _interopRequireDefault(require("./useCameraPan"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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."); }
|
|
19
|
+
|
|
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; }
|
|
27
|
+
|
|
28
|
+
var ConfigController = function ConfigController(_ref) {
|
|
29
|
+
var current = _ref.current;
|
|
30
|
+
|
|
31
|
+
var _useThree = (0, _fiber.useThree)(function (state) {
|
|
32
|
+
return [state.gl, state.scene, state.invalidate];
|
|
33
|
+
}),
|
|
34
|
+
_useThree2 = _slicedToArray(_useThree, 3),
|
|
35
|
+
stateGl = _useThree2[0],
|
|
36
|
+
stateScene = _useThree2[1],
|
|
37
|
+
invalidate = _useThree2[2];
|
|
38
|
+
|
|
39
|
+
(0, _useCameraPan.default)(current.lookingSide);
|
|
40
|
+
(0, _fiber.useFrame)(function (_ref2) {
|
|
41
|
+
var gl = _ref2.gl,
|
|
42
|
+
scene = _ref2.scene,
|
|
43
|
+
camera = _ref2.camera;
|
|
44
|
+
gl.render(scene, camera);
|
|
45
|
+
|
|
46
|
+
if (!current.animate) {
|
|
47
|
+
invalidate();
|
|
48
|
+
}
|
|
49
|
+
}, 1); // settings
|
|
50
|
+
|
|
51
|
+
(0, _react.useEffect)(function () {
|
|
52
|
+
stateGl.shadowMap.enabled = current.shadows;
|
|
53
|
+
stateGl.shadowMap.needsUpdate = true;
|
|
54
|
+
stateScene.traverse(function (node) {
|
|
55
|
+
if (node.isMesh) {
|
|
56
|
+
node.material.needsUpdate = true;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
if (!current.animate) {
|
|
61
|
+
invalidate();
|
|
62
|
+
}
|
|
63
|
+
}, [stateGl, stateScene, current, invalidate]);
|
|
64
|
+
return null;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
var _default = ConfigController;
|
|
68
|
+
exports.default = _default;
|
|
@@ -0,0 +1,129 @@
|
|
|
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 _fiber = require("@react-three/fiber");
|
|
13
|
+
|
|
14
|
+
var _drei = require("@react-three/drei");
|
|
15
|
+
|
|
16
|
+
var _loading = _interopRequireDefault(require("../loading"));
|
|
17
|
+
|
|
18
|
+
var _ConfigController = _interopRequireDefault(require("./ConfigController"));
|
|
19
|
+
|
|
20
|
+
var _LoadingLogic = require("../loading/LoadingLogic");
|
|
21
|
+
|
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
+
|
|
24
|
+
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); }
|
|
25
|
+
|
|
26
|
+
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; }
|
|
27
|
+
|
|
28
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
29
|
+
|
|
30
|
+
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."); }
|
|
31
|
+
|
|
32
|
+
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); }
|
|
33
|
+
|
|
34
|
+
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; }
|
|
35
|
+
|
|
36
|
+
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; }
|
|
37
|
+
|
|
38
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
39
|
+
|
|
40
|
+
var Scene = function Scene(_ref) {
|
|
41
|
+
var _ref$sceneChanged = _ref.sceneChanged,
|
|
42
|
+
sceneChanged = _ref$sceneChanged === void 0 ? false : _ref$sceneChanged,
|
|
43
|
+
_ref$hasControls = _ref.hasControls,
|
|
44
|
+
hasControls = _ref$hasControls === void 0 ? false : _ref$hasControls,
|
|
45
|
+
_ref$has3Stats = _ref.has3Stats,
|
|
46
|
+
has3Stats = _ref$has3Stats === void 0 ? false : _ref$has3Stats,
|
|
47
|
+
_ref$loadingText = _ref.loadingText,
|
|
48
|
+
loadingText = _ref$loadingText === void 0 ? '' : _ref$loadingText,
|
|
49
|
+
_ref$toggleShadows = _ref.toggleShadows,
|
|
50
|
+
toggleShadows = _ref$toggleShadows === void 0 ? true : _ref$toggleShadows,
|
|
51
|
+
_ref$lodSettings = _ref.lodSettings,
|
|
52
|
+
lodSettings = _ref$lodSettings === void 0 ? {} : _ref$lodSettings,
|
|
53
|
+
_ref$onLoadFinish = _ref.onLoadFinish,
|
|
54
|
+
onLoadFinish = _ref$onLoadFinish === void 0 ? function () {} : _ref$onLoadFinish,
|
|
55
|
+
_ref$stopAnimate = _ref.stopAnimate,
|
|
56
|
+
stopAnimate = _ref$stopAnimate === void 0 ? false : _ref$stopAnimate,
|
|
57
|
+
lookingSide = _ref.lookingSide,
|
|
58
|
+
children = _ref.children;
|
|
59
|
+
|
|
60
|
+
var _useState = (0, _react.useState)(false),
|
|
61
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
62
|
+
showLoad = _useState2[0],
|
|
63
|
+
setShowLoad = _useState2[1];
|
|
64
|
+
|
|
65
|
+
var orbit = (0, _react.useRef)();
|
|
66
|
+
|
|
67
|
+
var handleOnCreate = function handleOnCreate(_ref2) {
|
|
68
|
+
var gl = _ref2.gl,
|
|
69
|
+
raycaster = _ref2.raycaster,
|
|
70
|
+
camera = _ref2.camera;
|
|
71
|
+
raycaster.layers.set(1);
|
|
72
|
+
gl.outputEncoding = 3001;
|
|
73
|
+
gl.gammaFactor = 2.2;
|
|
74
|
+
gl.setClearColor(0xcccccc);
|
|
75
|
+
gl.setPixelRatio(window.devicePixelRatio);
|
|
76
|
+
gl.setSize(window.innerWidth, window.innerHeight);
|
|
77
|
+
gl.physicallyCorrectLights = true;
|
|
78
|
+
camera.layers.enableAll();
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
var onFinish = function onFinish() {
|
|
82
|
+
onLoadFinish();
|
|
83
|
+
setShowLoad(false);
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
(0, _react.useEffect)(function () {
|
|
87
|
+
if (sceneChanged) {
|
|
88
|
+
setShowLoad(true);
|
|
89
|
+
}
|
|
90
|
+
}, [sceneChanged]);
|
|
91
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_fiber.Canvas, {
|
|
92
|
+
className: "main-canvas",
|
|
93
|
+
style: {
|
|
94
|
+
width: '100%',
|
|
95
|
+
height: '100vh'
|
|
96
|
+
},
|
|
97
|
+
resize: {
|
|
98
|
+
scroll: false
|
|
99
|
+
},
|
|
100
|
+
mode: "concurrent",
|
|
101
|
+
flat: true,
|
|
102
|
+
shadows: toggleShadows,
|
|
103
|
+
frameloop: "demand",
|
|
104
|
+
onCreated: handleOnCreate,
|
|
105
|
+
tabIndex: 0
|
|
106
|
+
}, /*#__PURE__*/_react.default.createElement(_ConfigController.default, {
|
|
107
|
+
current: {
|
|
108
|
+
shadows: toggleShadows,
|
|
109
|
+
animate: stopAnimate,
|
|
110
|
+
lookingSide: lookingSide
|
|
111
|
+
}
|
|
112
|
+
}), /*#__PURE__*/_react.default.createElement(_react.Suspense, {
|
|
113
|
+
fallback: /*#__PURE__*/_react.default.createElement(_loading.default, {
|
|
114
|
+
text: loadingText
|
|
115
|
+
})
|
|
116
|
+
}, showLoad && /*#__PURE__*/_react.default.createElement(_LoadingLogic.LoadingLogic, {
|
|
117
|
+
onFinish: onFinish,
|
|
118
|
+
lodSettings: lodSettings
|
|
119
|
+
}), children, /*#__PURE__*/_react.default.createElement(_drei.Preload, {
|
|
120
|
+
all: true
|
|
121
|
+
})), has3Stats && /*#__PURE__*/_react.default.createElement(_drei.Stats, null), hasControls && /*#__PURE__*/_react.default.createElement(_drei.OrbitControls, {
|
|
122
|
+
ref: orbit
|
|
123
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
124
|
+
id: "elements-projection"
|
|
125
|
+
}));
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
var _default = Scene;
|
|
129
|
+
exports.default = _default;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _fiber = require("@react-three/fiber");
|
|
9
|
+
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
|
|
12
|
+
var _three = require("three");
|
|
13
|
+
|
|
14
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
15
|
+
|
|
16
|
+
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."); }
|
|
17
|
+
|
|
18
|
+
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); }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
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; }
|
|
23
|
+
|
|
24
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
25
|
+
|
|
26
|
+
var STD_RESOLUTION = 16 / 9;
|
|
27
|
+
var MOTION_LIMITER = 3.5;
|
|
28
|
+
var SPEED = 50;
|
|
29
|
+
var quad = new _three.Quaternion();
|
|
30
|
+
var yAxis = new _three.Vector3(0, 1, 0);
|
|
31
|
+
|
|
32
|
+
var rotateQuatY = function rotateQuatY(current, amount) {
|
|
33
|
+
var result = current.clone();
|
|
34
|
+
quad.setFromAxisAngle(yAxis, amount);
|
|
35
|
+
return result.multiply(quad);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
var useCameraPan = function useCameraPan(lookingSide) {
|
|
39
|
+
var _useState = (0, _react.useState)(false),
|
|
40
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
41
|
+
cameraLoaded = _useState2[0],
|
|
42
|
+
setCameraLoaded = _useState2[1];
|
|
43
|
+
|
|
44
|
+
var movingCamera = (0, _react.useRef)(false);
|
|
45
|
+
|
|
46
|
+
var _useThree = (0, _fiber.useThree)(function (state) {
|
|
47
|
+
return [state.camera, state.viewport];
|
|
48
|
+
}),
|
|
49
|
+
_useThree2 = _slicedToArray(_useThree, 2),
|
|
50
|
+
camera = _useThree2[0],
|
|
51
|
+
viewport = _useThree2[1];
|
|
52
|
+
|
|
53
|
+
var cameraRotation = (0, _react.useRef)({
|
|
54
|
+
left: camera.quaternion,
|
|
55
|
+
center: camera.quaternion,
|
|
56
|
+
right: camera.quaternion
|
|
57
|
+
});
|
|
58
|
+
var setCameraRotationView = (0, _react.useCallback)(function () {
|
|
59
|
+
if (viewport.aspect >= STD_RESOLUTION) {
|
|
60
|
+
cameraRotation.current = {
|
|
61
|
+
left: camera.quaternion,
|
|
62
|
+
center: camera.quaternion,
|
|
63
|
+
right: camera.quaternion
|
|
64
|
+
};
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
var threshold = (STD_RESOLUTION - viewport.aspect) / MOTION_LIMITER;
|
|
69
|
+
|
|
70
|
+
if (camera.rotation) {
|
|
71
|
+
cameraRotation.current = {
|
|
72
|
+
center: camera.quaternion.clone(),
|
|
73
|
+
left: rotateQuatY(camera.quaternion, threshold),
|
|
74
|
+
right: rotateQuatY(camera.quaternion, -threshold)
|
|
75
|
+
};
|
|
76
|
+
movingCamera.current = true;
|
|
77
|
+
}
|
|
78
|
+
}, [camera, viewport.aspect]);
|
|
79
|
+
var moveCamera = (0, _react.useCallback)(function (delta) {
|
|
80
|
+
var goal = cameraRotation.current[lookingSide];
|
|
81
|
+
|
|
82
|
+
if (camera.quaternion && goal) {
|
|
83
|
+
if (!camera.quaternion.equals(goal)) {
|
|
84
|
+
camera.quaternion.rotateTowards(goal, delta * SPEED);
|
|
85
|
+
} else {
|
|
86
|
+
movingCamera.current = false;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}, [camera, lookingSide]);
|
|
90
|
+
(0, _fiber.useFrame)(function (_ref) {
|
|
91
|
+
var clock = _ref.clock;
|
|
92
|
+
|
|
93
|
+
if (movingCamera.current) {
|
|
94
|
+
moveCamera(clock.getDelta());
|
|
95
|
+
}
|
|
96
|
+
}, 1);
|
|
97
|
+
(0, _react.useEffect)(function () {
|
|
98
|
+
if (camera.defaultCamera) {
|
|
99
|
+
setCameraLoaded(true);
|
|
100
|
+
}
|
|
101
|
+
}, [camera]);
|
|
102
|
+
(0, _react.useEffect)(function () {
|
|
103
|
+
if (cameraLoaded) {
|
|
104
|
+
movingCamera.current = true;
|
|
105
|
+
}
|
|
106
|
+
}, [lookingSide, cameraLoaded]);
|
|
107
|
+
(0, _react.useEffect)(function () {
|
|
108
|
+
if (cameraLoaded) {
|
|
109
|
+
setCameraRotationView();
|
|
110
|
+
}
|
|
111
|
+
}, [viewport, cameraLoaded, setCameraRotationView]);
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
var _default = useCameraPan;
|
|
115
|
+
exports.default = _default;
|
package/dist/components/conversational-pro-component/components/ConversationalProComponent.js
CHANGED
|
@@ -68,7 +68,6 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
68
68
|
finished = _useState4[0],
|
|
69
69
|
setFinished = _useState4[1];
|
|
70
70
|
|
|
71
|
-
var emitEventRef = (0, _react.useRef)(emitEvent);
|
|
72
71
|
var backgroundImage = (background === null || background === void 0 ? void 0 : (_background$img = background.img) === null || _background$img === void 0 ? void 0 : _background$img.url) || null;
|
|
73
72
|
var currentLineData = lines[currentLine];
|
|
74
73
|
var voiceOverSlots = [];
|
|
@@ -76,11 +75,11 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
76
75
|
decision = currentLineData.decision;
|
|
77
76
|
var isFlex = currentLineData.flex;
|
|
78
77
|
var translate = (0, _react.useCallback)(function (id) {
|
|
79
|
-
return
|
|
78
|
+
return emitEvent({
|
|
80
79
|
type: 'translate',
|
|
81
80
|
payload: id
|
|
82
81
|
});
|
|
83
|
-
}, []);
|
|
82
|
+
}, [emitEvent]);
|
|
84
83
|
var getCurrentMessage = (0, _react.useCallback)(function () {
|
|
85
84
|
if (voiceOver) {
|
|
86
85
|
return currentLineData;
|
|
@@ -122,13 +121,13 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
122
121
|
return !decision ? getCurrentMessage() : {};
|
|
123
122
|
}, [getCurrentMessage, decision]);
|
|
124
123
|
var playSpeech = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
125
|
-
var payload
|
|
124
|
+
var payload;
|
|
126
125
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
127
126
|
while (1) {
|
|
128
127
|
switch (_context.prev = _context.next) {
|
|
129
128
|
case 0:
|
|
130
129
|
if (!(currentLineData.voice.id && currentMessage)) {
|
|
131
|
-
_context.next =
|
|
130
|
+
_context.next = 5;
|
|
132
131
|
break;
|
|
133
132
|
}
|
|
134
133
|
|
|
@@ -138,27 +137,23 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
138
137
|
};
|
|
139
138
|
|
|
140
139
|
if (!(payload.voiceId && payload.text)) {
|
|
141
|
-
_context.next =
|
|
140
|
+
_context.next = 5;
|
|
142
141
|
break;
|
|
143
142
|
}
|
|
144
143
|
|
|
145
144
|
_context.next = 5;
|
|
146
|
-
return
|
|
145
|
+
return emitEvent({
|
|
147
146
|
type: 'playSpeech',
|
|
148
147
|
payload: payload
|
|
149
148
|
});
|
|
150
149
|
|
|
151
150
|
case 5:
|
|
152
|
-
speechUrl = _context.sent;
|
|
153
|
-
playSound(speechUrl);
|
|
154
|
-
|
|
155
|
-
case 7:
|
|
156
151
|
case "end":
|
|
157
152
|
return _context.stop();
|
|
158
153
|
}
|
|
159
154
|
}
|
|
160
155
|
}, _callee);
|
|
161
|
-
})), [currentLineData.voice, currentMessage,
|
|
156
|
+
})), [currentLineData.voice, currentMessage, emitEvent, getVoice]); // Recupera la antigua linea de la conversacion para conservar los personajes en voice-over
|
|
162
157
|
|
|
163
158
|
var leftWithSlots = lines.slice(0, currentLine + 1).reverse().find(function (line) {
|
|
164
159
|
return line.slots;
|
|
@@ -244,7 +239,7 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
244
239
|
setCurrentLine(line + 1);
|
|
245
240
|
} else {
|
|
246
241
|
setFinished(true);
|
|
247
|
-
|
|
242
|
+
emitEvent({
|
|
248
243
|
type: 'success'
|
|
249
244
|
});
|
|
250
245
|
}
|
|
@@ -94,8 +94,6 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
94
94
|
currentMessage = _useState6[0],
|
|
95
95
|
setCurrentMessage = _useState6[1];
|
|
96
96
|
|
|
97
|
-
var emitRef = (0, _react.useRef)(emitEvent);
|
|
98
|
-
|
|
99
97
|
var _useThree = (0, _fiber.useThree)(function (state) {
|
|
100
98
|
return [state.camera, state.scene];
|
|
101
99
|
}),
|
|
@@ -125,11 +123,11 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
125
123
|
var lastLine = lines[line - 1];
|
|
126
124
|
var lastSet = (0, _react.useRef)(false);
|
|
127
125
|
var translate = (0, _react.useCallback)(function (id) {
|
|
128
|
-
return
|
|
126
|
+
return emitEvent({
|
|
129
127
|
type: 'translate',
|
|
130
128
|
payload: id
|
|
131
129
|
});
|
|
132
|
-
}, []);
|
|
130
|
+
}, [emitEvent]);
|
|
133
131
|
var getVoice = (0, _react.useCallback)(function (_ref2) {
|
|
134
132
|
var id = _ref2.id,
|
|
135
133
|
_ref2$type = _ref2.type,
|
|
@@ -150,13 +148,13 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
150
148
|
return null;
|
|
151
149
|
}, [translate]);
|
|
152
150
|
var playSpeech = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
153
|
-
var payload
|
|
151
|
+
var payload;
|
|
154
152
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
155
153
|
while (1) {
|
|
156
154
|
switch (_context.prev = _context.next) {
|
|
157
155
|
case 0:
|
|
158
156
|
if (!currentLine.voice.id) {
|
|
159
|
-
_context.next =
|
|
157
|
+
_context.next = 5;
|
|
160
158
|
break;
|
|
161
159
|
}
|
|
162
160
|
|
|
@@ -166,27 +164,23 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
166
164
|
};
|
|
167
165
|
|
|
168
166
|
if (!(payload.voiceId && payload.text)) {
|
|
169
|
-
_context.next =
|
|
167
|
+
_context.next = 5;
|
|
170
168
|
break;
|
|
171
169
|
}
|
|
172
170
|
|
|
173
171
|
_context.next = 5;
|
|
174
|
-
return
|
|
172
|
+
return emitEvent({
|
|
175
173
|
type: 'playSpeech',
|
|
176
174
|
payload: payload
|
|
177
175
|
});
|
|
178
176
|
|
|
179
177
|
case 5:
|
|
180
|
-
speechUrl = _context.sent;
|
|
181
|
-
playSound(speechUrl);
|
|
182
|
-
|
|
183
|
-
case 7:
|
|
184
178
|
case "end":
|
|
185
179
|
return _context.stop();
|
|
186
180
|
}
|
|
187
181
|
}
|
|
188
182
|
}, _callee);
|
|
189
|
-
})), [currentLine.voice, getVoice, currentMessage.text,
|
|
183
|
+
})), [currentLine.voice, getVoice, currentMessage.text, emitEvent]);
|
|
190
184
|
var getCurrentVisible = (0, _react.useCallback)(function (uid) {
|
|
191
185
|
var object;
|
|
192
186
|
scene.traverseVisible(function (node) {
|
|
@@ -363,7 +357,7 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
363
357
|
head.getWorldPosition(target.position);
|
|
364
358
|
target.applyQuaternion(camera.quaternion);
|
|
365
359
|
target.translateX(1.25);
|
|
366
|
-
target.translateY(
|
|
360
|
+
target.translateY(2);
|
|
367
361
|
messagePosition.current = {
|
|
368
362
|
pos: target.position.toArray(),
|
|
369
363
|
child: head,
|
|
@@ -501,7 +495,7 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
501
495
|
animationTarget.current.applyQuaternion(cam.quaternion);
|
|
502
496
|
}
|
|
503
497
|
|
|
504
|
-
animationTarget.current.translateX(
|
|
498
|
+
animationTarget.current.translateX(10);
|
|
505
499
|
animationTarget.current.translateY(-5);
|
|
506
500
|
animationTarget.current.translateZ(30);
|
|
507
501
|
}
|
|
@@ -545,7 +539,7 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
545
539
|
disableBackground: true
|
|
546
540
|
},
|
|
547
541
|
onFinish: nextLine,
|
|
548
|
-
emitEvent:
|
|
542
|
+
emitEvent: emitEvent,
|
|
549
543
|
soundActions: soundActions
|
|
550
544
|
});
|
|
551
545
|
|
|
@@ -49,7 +49,9 @@ var MAX_POOL_LETTERS = 26;
|
|
|
49
49
|
var MAX_EXTRA_LETTERS = 8;
|
|
50
50
|
|
|
51
51
|
var AnswerPanel = function AnswerPanel(_ref) {
|
|
52
|
-
var answer = _ref.answer
|
|
52
|
+
var answer = _ref.answer,
|
|
53
|
+
_ref$show = _ref.show,
|
|
54
|
+
show = _ref$show === void 0 ? false : _ref$show;
|
|
53
55
|
var words = [];
|
|
54
56
|
var wordIndex = 0;
|
|
55
57
|
answer.forEach(function (a) {
|
|
@@ -68,7 +70,12 @@ var AnswerPanel = function AnswerPanel(_ref) {
|
|
|
68
70
|
key: "".concat(word + index),
|
|
69
71
|
className: "puzzle--hanged__word",
|
|
70
72
|
"data-testid": "result-".concat(index)
|
|
71
|
-
}, word.
|
|
73
|
+
}, show ? word.map(function (char, i) {
|
|
74
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
75
|
+
key: "".concat(char + i),
|
|
76
|
+
className: "puzzle--hanged__letter active"
|
|
77
|
+
}, char);
|
|
78
|
+
}) : word.filter(function (_ref2) {
|
|
72
79
|
var char = _ref2.char;
|
|
73
80
|
return char !== ' ';
|
|
74
81
|
}).map(function (_ref3, i) {
|
|
@@ -133,6 +140,11 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
133
140
|
accRewards = _useState12[0],
|
|
134
141
|
setRewards = _useState12[1];
|
|
135
142
|
|
|
143
|
+
var _useState13 = (0, _react.useState)(false),
|
|
144
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
145
|
+
showCorrectSolution = _useState14[0],
|
|
146
|
+
setCorrectSolution = _useState14[1];
|
|
147
|
+
|
|
136
148
|
var translatedAnswer = answer.toUpperCase().split('');
|
|
137
149
|
var answerPanel = translatedAnswer.filter(function (char) {
|
|
138
150
|
return (0, _utils.restrictCharacters)(char, 'and');
|
|
@@ -388,12 +400,15 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
388
400
|
}
|
|
389
401
|
|
|
390
402
|
setResolveAction(function () {
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
403
|
+
setCorrectSolution(true);
|
|
404
|
+
setTimeout(function () {
|
|
405
|
+
var rewardsData = [].concat(_toConsumableArray(accRewards), _toConsumableArray(info.resolve.rewards));
|
|
406
|
+
emitEvent({
|
|
407
|
+
type: 'hidePuzzleButtons',
|
|
408
|
+
payload: false
|
|
409
|
+
});
|
|
410
|
+
setShowPoints(rewardsData);
|
|
411
|
+
}, 2000);
|
|
397
412
|
});
|
|
398
413
|
}, [setHiddenAnswer, mounted, answer, setResolveAction, emitEvent, accRewards, info.resolve.rewards, setShowPoints]);
|
|
399
414
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -416,7 +431,10 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
416
431
|
}, question), /*#__PURE__*/_react.default.createElement("div", {
|
|
417
432
|
className: "puzzle--hanged__solution ".concat(resolvedClass),
|
|
418
433
|
"data-testid": "".concat(resolvedClass)
|
|
419
|
-
}, /*#__PURE__*/_react.default.createElement(AnswerPanel, {
|
|
434
|
+
}, showCorrectSolution ? /*#__PURE__*/_react.default.createElement(AnswerPanel, {
|
|
435
|
+
answer: answer.split(''),
|
|
436
|
+
show: true
|
|
437
|
+
}) : /*#__PURE__*/_react.default.createElement(AnswerPanel, {
|
|
420
438
|
answer: resolvedAnswer
|
|
421
439
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
422
440
|
className: "puzzle--hanged__keyboard"
|
package/dist/components/index.js
CHANGED
|
@@ -5,6 +5,12 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
Object.defineProperty(exports, "AnimateElement", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _AnimateElement.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
8
14
|
Object.defineProperty(exports, "AnimationComponent", {
|
|
9
15
|
enumerable: true,
|
|
10
16
|
get: function get() {
|
|
@@ -17,6 +23,12 @@ Object.defineProperty(exports, "AutoEvaluationComponent", {
|
|
|
17
23
|
return _autoEvaluationComponent.default;
|
|
18
24
|
}
|
|
19
25
|
});
|
|
26
|
+
Object.defineProperty(exports, "Background", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function get() {
|
|
29
|
+
return _background.default;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
20
32
|
Object.defineProperty(exports, "CardsSelectorPuzzleComponent", {
|
|
21
33
|
enumerable: true,
|
|
22
34
|
get: function get() {
|
|
@@ -35,6 +47,12 @@ Object.defineProperty(exports, "ChainedImageClickPuzzleComponent", {
|
|
|
35
47
|
return _chainedImageClickPuzzleComponent.default;
|
|
36
48
|
}
|
|
37
49
|
});
|
|
50
|
+
Object.defineProperty(exports, "ClickableArea", {
|
|
51
|
+
enumerable: true,
|
|
52
|
+
get: function get() {
|
|
53
|
+
return _ClickableArea.default;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
38
56
|
Object.defineProperty(exports, "ComicComponent", {
|
|
39
57
|
enumerable: true,
|
|
40
58
|
get: function get() {
|
|
@@ -77,6 +95,18 @@ Object.defineProperty(exports, "DragItemPuzzleComponent", {
|
|
|
77
95
|
return _dragItemPuzzleComponent.default;
|
|
78
96
|
}
|
|
79
97
|
});
|
|
98
|
+
Object.defineProperty(exports, "Element", {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
get: function get() {
|
|
101
|
+
return _element.default;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
Object.defineProperty(exports, "ElementList", {
|
|
105
|
+
enumerable: true,
|
|
106
|
+
get: function get() {
|
|
107
|
+
return _elementsList.default;
|
|
108
|
+
}
|
|
109
|
+
});
|
|
80
110
|
Object.defineProperty(exports, "FrameImageClickComponent", {
|
|
81
111
|
enumerable: true,
|
|
82
112
|
get: function get() {
|
|
@@ -161,6 +191,18 @@ Object.defineProperty(exports, "PdfVisor", {
|
|
|
161
191
|
return _pdfComponent.PdfVisor;
|
|
162
192
|
}
|
|
163
193
|
});
|
|
194
|
+
Object.defineProperty(exports, "Poster", {
|
|
195
|
+
enumerable: true,
|
|
196
|
+
get: function get() {
|
|
197
|
+
return _Poster.default;
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
Object.defineProperty(exports, "Scene", {
|
|
201
|
+
enumerable: true,
|
|
202
|
+
get: function get() {
|
|
203
|
+
return _scene.default;
|
|
204
|
+
}
|
|
205
|
+
});
|
|
164
206
|
Object.defineProperty(exports, "SurveyComponent", {
|
|
165
207
|
enumerable: true,
|
|
166
208
|
get: function get() {
|
|
@@ -222,6 +264,20 @@ Object.defineProperty(exports, "ZoomTest", {
|
|
|
222
264
|
}
|
|
223
265
|
});
|
|
224
266
|
|
|
267
|
+
var _scene = _interopRequireDefault(require("./arcade-render/scene"));
|
|
268
|
+
|
|
269
|
+
var _elementsList = _interopRequireDefault(require("./arcade-render/elements-list"));
|
|
270
|
+
|
|
271
|
+
var _ClickableArea = _interopRequireDefault(require("./arcade-render/elements-list/ClickableArea"));
|
|
272
|
+
|
|
273
|
+
var _Poster = _interopRequireDefault(require("./arcade-render/elements-list/Poster"));
|
|
274
|
+
|
|
275
|
+
var _background = _interopRequireDefault(require("./arcade-render/background"));
|
|
276
|
+
|
|
277
|
+
var _element = _interopRequireDefault(require("./arcade-render/element"));
|
|
278
|
+
|
|
279
|
+
var _AnimateElement = _interopRequireDefault(require("./arcade-render/element/AnimateElement"));
|
|
280
|
+
|
|
225
281
|
var _noticeComponent = _interopRequireDefault(require("./notice-component"));
|
|
226
282
|
|
|
227
283
|
var _inventoryItem = _interopRequireDefault(require("./inventory-item"));
|
|
@@ -154,11 +154,10 @@ var LoginPuzzleComponent = function LoginPuzzleComponent(_ref) {
|
|
|
154
154
|
};
|
|
155
155
|
|
|
156
156
|
(0, _react.useEffect)(function () {
|
|
157
|
-
var timeout;
|
|
158
157
|
setResolveAction(function () {
|
|
159
158
|
var rewardsData = [].concat(_toConsumableArray(accRewards), _toConsumableArray(info.resolve.rewards));
|
|
160
159
|
setCorrectSolution(true);
|
|
161
|
-
|
|
160
|
+
setTimeout(function () {
|
|
162
161
|
emitEvent({
|
|
163
162
|
type: 'hidePuzzleButtons',
|
|
164
163
|
payload: false
|
|
@@ -166,7 +165,6 @@ var LoginPuzzleComponent = function LoginPuzzleComponent(_ref) {
|
|
|
166
165
|
setShowPoints(rewardsData);
|
|
167
166
|
}, 2000);
|
|
168
167
|
});
|
|
169
|
-
if (timeout) clearTimeout(timeout);
|
|
170
168
|
}, [accRewards, info.resolve.rewards, emitEvent, setShowPoints, setResolveAction]);
|
|
171
169
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
172
170
|
className: "puzzle--layer",
|