@gamelearn/arcade-components 0.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/README.md +53 -0
- package/dist/components/arcade-render/background/index.js +33 -0
- package/dist/components/arcade-render/background/scene-elements/customGeometry/index.js +46 -0
- package/dist/components/arcade-render/background/scene-elements/index.js +90 -0
- package/dist/components/arcade-render/element/AnimateElement.js +60 -0
- package/dist/components/arcade-render/element/Projection.js +38 -0
- package/dist/components/arcade-render/element/index.js +134 -0
- package/dist/components/arcade-render/elements-list/ClickableArea.js +76 -0
- package/dist/components/arcade-render/elements-list/Poster.js +80 -0
- package/dist/components/arcade-render/elements-list/index.js +152 -0
- package/dist/components/arcade-render/light/index.js +33 -0
- package/dist/components/arcade-render/light/useLight.js +51 -0
- package/dist/components/arcade-render/loading/Loading.js +55 -0
- package/dist/components/arcade-render/loading/LoadingLogic.js +54 -0
- package/dist/components/arcade-render/loading/index.js +21 -0
- package/dist/components/arcade-render/mocks/index.js +12 -0
- package/dist/components/arcade-render/scene/index.js +152 -0
- package/dist/components/cartel-component/components/CartelComponent.js +102 -0
- package/dist/components/cartel-component/index.js +13 -0
- package/dist/components/comic-component/components/ComicComponent.js +106 -0
- package/dist/components/comic-component/components/Slide.js +74 -0
- package/dist/components/comic-component/components/Vignette.js +29 -0
- package/dist/components/comic-component/index.js +13 -0
- package/dist/components/comic-component/mocks/mockForStory.js +58 -0
- package/dist/components/conversational-component/components/ConversationalComponent.js +116 -0
- package/dist/components/conversational-component/index.js +13 -0
- package/dist/components/conversational-pro-component/components/ConversationalProComponent.js +226 -0
- package/dist/components/conversational-pro-component/components/Message.js +42 -0
- package/dist/components/conversational-pro-component/components/Slot.js +67 -0
- package/dist/components/conversational-pro-component/components/SlotList.js +112 -0
- package/dist/components/conversational-pro-component/components/scene/Panel.js +114 -0
- package/dist/components/conversational-pro-component/components/scene/Panels.js +35 -0
- package/dist/components/conversational-pro-component/components/scene/index.js +90 -0
- package/dist/components/conversational-pro-component/index.js +13 -0
- package/dist/components/conversational-pro-component/mocks/mockForStory.js +591 -0
- package/dist/components/cracker-puzzle-component/components/CrackerPuzzleComponent.js +316 -0
- package/dist/components/cracker-puzzle-component/components/DrawGrid/index.js +44 -0
- package/dist/components/cracker-puzzle-component/components/DrawItem/index.js +53 -0
- package/dist/components/cracker-puzzle-component/components/DrawRow/index.js +48 -0
- package/dist/components/cracker-puzzle-component/components/colors.js +12 -0
- package/dist/components/cracker-puzzle-component/components/helpers.js +168 -0
- package/dist/components/cracker-puzzle-component/index.js +13 -0
- package/dist/components/cracker-puzzle-component/mocks/mockForStory.js +219 -0
- package/dist/components/decision-component/components/DecisionBody.js +167 -0
- package/dist/components/decision-component/components/DecisionComponent.js +231 -0
- package/dist/components/decision-component/components/Feedback.js +83 -0
- package/dist/components/decision-component/components/Options.js +37 -0
- package/dist/components/decision-component/components/Rewards.js +203 -0
- package/dist/components/decision-component/index.js +13 -0
- package/dist/components/decision-component/mocks/mockForStory.js +43 -0
- package/dist/components/hacker-puzzle-component/components/HackerPuzzleComponent.js +294 -0
- package/dist/components/hacker-puzzle-component/components/languages.js +12 -0
- package/dist/components/hacker-puzzle-component/index.js +13 -0
- package/dist/components/hacker-puzzle-component/mocks/mockForStory.js +101 -0
- package/dist/components/image-component/components/ImageComponent.js +66 -0
- package/dist/components/image-component/index.js +13 -0
- package/dist/components/image-component/mocks/mockForStory.js +50 -0
- package/dist/components/index.js +163 -0
- package/dist/components/inventory-item/components/InventoryItem.js +100 -0
- package/dist/components/inventory-item/index.js +13 -0
- package/dist/components/inventory-item/mocks/mockForStory.js +28 -0
- package/dist/components/keyboard-puzzle-component/components/FeedbackMessage.js +30 -0
- package/dist/components/keyboard-puzzle-component/components/KeyboardPuzzleComponent.js +160 -0
- package/dist/components/keyboard-puzzle-component/index.js +13 -0
- package/dist/components/keyboard-puzzle-component/mocks/mockForStory.js +36 -0
- package/dist/components/lectures-component/components/LectureButtons.js +50 -0
- package/dist/components/lectures-component/components/LecturesComponent.js +140 -0
- package/dist/components/lectures-component/index.js +13 -0
- package/dist/components/lectures-component/mocks/mockForStory.js +22 -0
- package/dist/components/login-puzzle-component/components/LoginPuzzleComponent.js +170 -0
- package/dist/components/login-puzzle-component/index.js +13 -0
- package/dist/components/login-puzzle-component/mocks/mockForStory.js +38 -0
- package/dist/components/notice-component/components/NoticeComponent.js +61 -0
- package/dist/components/notice-component/index.js +13 -0
- package/dist/components/notice-component/mocks/mockForStory.js +20 -0
- package/dist/components/pdf-component/components/PdfComponent.js +79 -0
- package/dist/components/pdf-component/components/PdfVisor.js +84 -0
- package/dist/components/pdf-component/index.js +23 -0
- package/dist/components/pdf-component/mocks/mockForProps.js +23 -0
- package/dist/components/pikachu-component/components/PikachuComponent.js +24 -0
- package/dist/components/pikachu-component/index.js +13 -0
- package/dist/components/pikachu-component/mocks/mockForStory.js +15 -0
- package/dist/components/url-component/components/UrlComponent.js +92 -0
- package/dist/components/url-component/index.js +13 -0
- package/dist/components/url-component/mocks/mockForProps.js +1 -0
- package/dist/components/video-component/components/VideoComponent.js +72 -0
- package/dist/components/video-component/index.js +13 -0
- package/dist/components/video-component/mocks/mockForStory.js +84 -0
- package/dist/components/video-visor/components/VideoControllers/BufferBar.js +130 -0
- package/dist/components/video-visor/components/VideoControllers/ControlButtons.js +36 -0
- package/dist/components/video-visor/components/VideoControllers/FinishedVideoButtons.js +45 -0
- package/dist/components/video-visor/components/VideoControllers/PlayInitButton.js +46 -0
- package/dist/components/video-visor/components/VideoControllers/SkipButton.js +44 -0
- package/dist/components/video-visor/components/VideoControllers/Timer.js +42 -0
- package/dist/components/video-visor/components/VideoControllers/VolumeBar.js +108 -0
- package/dist/components/video-visor/components/VideoControllers/index.js +122 -0
- package/dist/components/video-visor/components/VideoVisor.js +308 -0
- package/dist/components/video-visor/index.js +13 -0
- package/dist/components/video-visor/mocks/mockForStory.js +27 -0
- package/dist/helpers/LightSet.js +39 -0
- package/dist/helpers/LodController.js +37 -0
- package/dist/helpers/drawLOD.js +358 -0
- package/dist/helpers/index.js +82 -0
- package/dist/helpers/lodStats.js +51 -0
- package/dist/helpers/useGLB.js +62 -0
- package/dist/index.js +18 -0
- package/package.json +75 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
var Message = function Message(_ref) {
|
|
15
|
+
var current = _ref.current,
|
|
16
|
+
voiceOver = _ref.voiceOver;
|
|
17
|
+
var currentText = current.text;
|
|
18
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
19
|
+
className: "conversation--message ".concat(voiceOver ? 'voice--over' : '')
|
|
20
|
+
}, voiceOver ? /*#__PURE__*/_react.default.createElement("div", {
|
|
21
|
+
className: "conversation--voice__over"
|
|
22
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
23
|
+
className: "icon-voice-over"
|
|
24
|
+
}), /*#__PURE__*/_react.default.createElement("span", null, current.name ? current.name : 'Voice-Over')) : /*#__PURE__*/_react.default.createElement("div", null), /*#__PURE__*/_react.default.createElement("span", {
|
|
25
|
+
className: "conversation--main__text"
|
|
26
|
+
}, currentText));
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
Message.propTypes = {
|
|
30
|
+
current: _propTypes.default.shape({
|
|
31
|
+
text: _propTypes.default.string,
|
|
32
|
+
text_labelId: _propTypes.default.string,
|
|
33
|
+
name: _propTypes.default.string
|
|
34
|
+
}),
|
|
35
|
+
voiceOver: _propTypes.default.bool
|
|
36
|
+
};
|
|
37
|
+
Message.defaultProps = {
|
|
38
|
+
current: {},
|
|
39
|
+
voiceOver: false
|
|
40
|
+
};
|
|
41
|
+
var _default = Message;
|
|
42
|
+
exports.default = _default;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
var Slot = function Slot(_ref) {
|
|
15
|
+
var _character$resource;
|
|
16
|
+
|
|
17
|
+
var character = _ref.character,
|
|
18
|
+
active = _ref.active,
|
|
19
|
+
slot = _ref.slot;
|
|
20
|
+
var isImage = character.type === 'image';
|
|
21
|
+
var imgUrl = character === null || character === void 0 ? void 0 : (_character$resource = character.resource) === null || _character$resource === void 0 ? void 0 : _character$resource.url;
|
|
22
|
+
var style = isImage ? {
|
|
23
|
+
backgroundImage: "url(".concat(imgUrl, ")"),
|
|
24
|
+
backgroundRepeat: 'no-repeat',
|
|
25
|
+
backgroundPosition: 'center',
|
|
26
|
+
backgroundSize: 'contain'
|
|
27
|
+
} : {};
|
|
28
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
29
|
+
key: character.name,
|
|
30
|
+
className: "conversation--character__item ".concat(active ? 'active' : '', " ").concat(slot),
|
|
31
|
+
style: style
|
|
32
|
+
}, active && character.name ? /*#__PURE__*/_react.default.createElement("span", {
|
|
33
|
+
className: "conversation--character__name"
|
|
34
|
+
}, character.name) : null);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
Slot.propTypes = {
|
|
38
|
+
character: _propTypes.default.shape({
|
|
39
|
+
name: _propTypes.default.string,
|
|
40
|
+
url: _propTypes.default.string,
|
|
41
|
+
type: _propTypes.default.string,
|
|
42
|
+
emotion: _propTypes.default.string,
|
|
43
|
+
uid: _propTypes.default.string,
|
|
44
|
+
resource: _propTypes.default.shape({
|
|
45
|
+
resourceId: _propTypes.default.string,
|
|
46
|
+
url: _propTypes.default.string
|
|
47
|
+
})
|
|
48
|
+
}),
|
|
49
|
+
active: _propTypes.default.bool,
|
|
50
|
+
emotion: _propTypes.default.string,
|
|
51
|
+
slot: _propTypes.default.number
|
|
52
|
+
};
|
|
53
|
+
Slot.defaultProps = {
|
|
54
|
+
character: {
|
|
55
|
+
name: '',
|
|
56
|
+
url: '',
|
|
57
|
+
type: '',
|
|
58
|
+
resource: {
|
|
59
|
+
resourceId: ''
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
active: false,
|
|
63
|
+
emotion: '',
|
|
64
|
+
slot: 0
|
|
65
|
+
};
|
|
66
|
+
var _default = Slot;
|
|
67
|
+
exports.default = _default;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _Slot = _interopRequireDefault(require("./Slot"));
|
|
13
|
+
|
|
14
|
+
var _scene = _interopRequireDefault(require("./scene"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
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); }
|
|
19
|
+
|
|
20
|
+
var SlotList = function SlotList(_ref) {
|
|
21
|
+
var characters = _ref.characters,
|
|
22
|
+
currentMessage = _ref.currentMessage,
|
|
23
|
+
flex = _ref.flex,
|
|
24
|
+
slots = _ref.slots,
|
|
25
|
+
children = _ref.children;
|
|
26
|
+
|
|
27
|
+
var characterProps = function characterProps(_ref2) {
|
|
28
|
+
var character = _ref2.character,
|
|
29
|
+
active = _ref2.active,
|
|
30
|
+
slot = _ref2.slot;
|
|
31
|
+
return {
|
|
32
|
+
character: character,
|
|
33
|
+
active: active,
|
|
34
|
+
emotion: active ? currentMessage.emotion : 'neutral',
|
|
35
|
+
slot: slot
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
var currentChars = characters.filter(function (c) {
|
|
40
|
+
return slots.find(function (s) {
|
|
41
|
+
return c.uid === s.uid;
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
var Slots = function Slots() {
|
|
46
|
+
if (flex) {
|
|
47
|
+
return currentChars.map(function (character, index) {
|
|
48
|
+
var active = currentMessage.position === index;
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(_Slot.default, _extends({
|
|
50
|
+
key: character.uid + index
|
|
51
|
+
}, characterProps({
|
|
52
|
+
character: character,
|
|
53
|
+
active: active,
|
|
54
|
+
slot: index
|
|
55
|
+
})));
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return slots.length > 0 && characters.length > 0 ? slots.map(function (el, index) {
|
|
60
|
+
var character = characters.find(function (char) {
|
|
61
|
+
return char.uid === el.uid;
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
if (character) {
|
|
65
|
+
var active = currentMessage.position === index;
|
|
66
|
+
character.name = el.alias || character.name;
|
|
67
|
+
return /*#__PURE__*/_react.default.createElement(_Slot.default, _extends({
|
|
68
|
+
key: character.uid + index
|
|
69
|
+
}, characterProps({
|
|
70
|
+
character: character,
|
|
71
|
+
active: active,
|
|
72
|
+
slot: index
|
|
73
|
+
})));
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
77
|
+
key: index,
|
|
78
|
+
className: "conversation--character__item void ".concat(index)
|
|
79
|
+
});
|
|
80
|
+
}) : null;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
84
|
+
className: "conversation--characters"
|
|
85
|
+
}, /*#__PURE__*/_react.default.createElement(_scene.default, {
|
|
86
|
+
characters: currentChars,
|
|
87
|
+
slots: slots,
|
|
88
|
+
flex: flex,
|
|
89
|
+
currentMessage: currentMessage
|
|
90
|
+
}), children ? children : /*#__PURE__*/_react.default.createElement(Slots, null));
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
SlotList.propTypes = {
|
|
94
|
+
characters: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
95
|
+
name: _propTypes.default.string,
|
|
96
|
+
url: _propTypes.default.string
|
|
97
|
+
})),
|
|
98
|
+
currentMessage: _propTypes.default.shape({
|
|
99
|
+
emotion: _propTypes.default.string,
|
|
100
|
+
position: _propTypes.default.number
|
|
101
|
+
}),
|
|
102
|
+
flex: _propTypes.default.bool,
|
|
103
|
+
slots: _propTypes.default.arrayOf(_propTypes.default.shape({}))
|
|
104
|
+
};
|
|
105
|
+
SlotList.defaultProps = {
|
|
106
|
+
characters: [],
|
|
107
|
+
currentMessage: {},
|
|
108
|
+
flex: true,
|
|
109
|
+
slots: []
|
|
110
|
+
};
|
|
111
|
+
var _default = SlotList;
|
|
112
|
+
exports.default = _default;
|
|
@@ -0,0 +1,114 @@
|
|
|
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 _three = require("three");
|
|
17
|
+
|
|
18
|
+
var _element = _interopRequireDefault(require("../../../arcade-render/element"));
|
|
19
|
+
|
|
20
|
+
var _helpers = require("../../../../helpers");
|
|
21
|
+
|
|
22
|
+
var _LightSet = _interopRequireDefault(require("../../../../helpers/LightSet"));
|
|
23
|
+
|
|
24
|
+
var _drawLOD = _interopRequireDefault(require("../../../../helpers/drawLOD"));
|
|
25
|
+
|
|
26
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
+
|
|
28
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
29
|
+
|
|
30
|
+
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; }
|
|
31
|
+
|
|
32
|
+
var defaultCamPos = [0, 14.63, 16];
|
|
33
|
+
|
|
34
|
+
function Panel(_ref) {
|
|
35
|
+
var character = _ref.character,
|
|
36
|
+
active = _ref.active;
|
|
37
|
+
var cameraRef = (0, _react.useRef)(null);
|
|
38
|
+
var sceneRef = (0, _react.useRef)(null);
|
|
39
|
+
var cache = (0, _react.useRef)({});
|
|
40
|
+
var isCharacter = character.type === 'character';
|
|
41
|
+
var emotion = isCharacter ? character.resource.animations[character.emotion || 'neutral'] : {};
|
|
42
|
+
var onLoadElement = (0, _react.useCallback)(function (model) {
|
|
43
|
+
if (cameraRef.current) {
|
|
44
|
+
var boundingBox = new _three.Box3();
|
|
45
|
+
boundingBox.setFromObject(model);
|
|
46
|
+
var size = boundingBox.getSize(new _three.Vector3());
|
|
47
|
+
cameraRef.current.position.fromArray(defaultCamPos);
|
|
48
|
+
cameraRef.current.rotation.set(0, 0, 0);
|
|
49
|
+
cameraRef.current.updateProjectionMatrix();
|
|
50
|
+
|
|
51
|
+
if (character.type === 'character') {
|
|
52
|
+
cameraRef.current.position.setY(size.y - 1.5 * 1.3);
|
|
53
|
+
cameraRef.current.zoom = 1.85;
|
|
54
|
+
} else if (character.type === 'object') {
|
|
55
|
+
(0, _helpers.cameraFitAnyObject)(model, cameraRef.current);
|
|
56
|
+
cameraRef.current.zoom = 1;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
cameraRef.current.updateProjectionMatrix();
|
|
60
|
+
|
|
61
|
+
if (!cache.current[character.uid]) {
|
|
62
|
+
cache.current[character.uid] = true;
|
|
63
|
+
(0, _drawLOD.default)(sceneRef.current);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}, [character]);
|
|
67
|
+
(0, _fiber.useFrame)(function (_ref2) {
|
|
68
|
+
var gl = _ref2.gl;
|
|
69
|
+
|
|
70
|
+
if (cameraRef.current && sceneRef.current) {
|
|
71
|
+
var doc = document.getElementsByClassName('conversation--character__item')[character.slot];
|
|
72
|
+
|
|
73
|
+
if (doc) {
|
|
74
|
+
var child = doc.getBoundingClientRect();
|
|
75
|
+
var parent = doc.parentNode.getBoundingClientRect();
|
|
76
|
+
var width = child.right - child.left,
|
|
77
|
+
height = child.bottom - child.top;
|
|
78
|
+
cameraRef.current.aspect = width / height;
|
|
79
|
+
cameraRef.current.updateProjectionMatrix();
|
|
80
|
+
var relativePos = {
|
|
81
|
+
top: child.top - parent.top,
|
|
82
|
+
right: child.right - parent.right,
|
|
83
|
+
left: child.left - parent.left,
|
|
84
|
+
bottom: child.bottom - parent.bottom
|
|
85
|
+
};
|
|
86
|
+
var paddingBottom = 40;
|
|
87
|
+
relativePos.bottom += active ? -paddingBottom : paddingBottom;
|
|
88
|
+
gl.setViewport(relativePos.left, relativePos.bottom, width, height);
|
|
89
|
+
gl.setScissor(relativePos.left, relativePos.bottom, width, height);
|
|
90
|
+
gl.render(sceneRef.current, cameraRef.current);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}, 100);
|
|
94
|
+
return character.type === 'image' ? null : /*#__PURE__*/_react.default.createElement("scene", {
|
|
95
|
+
ref: sceneRef
|
|
96
|
+
}, /*#__PURE__*/_react.default.createElement(_react.Suspense, {
|
|
97
|
+
fallback: null
|
|
98
|
+
}, /*#__PURE__*/_react.default.createElement(_element.default, {
|
|
99
|
+
name: "char_".concat(character.uid),
|
|
100
|
+
url: character.resource.url,
|
|
101
|
+
animationUrl: emotion.url,
|
|
102
|
+
position: [0, 0, 0],
|
|
103
|
+
onLoad: onLoadElement
|
|
104
|
+
})), /*#__PURE__*/_react.default.createElement(_drei.PerspectiveCamera, {
|
|
105
|
+
name: "camera_".concat(character.uid),
|
|
106
|
+
fov: 35,
|
|
107
|
+
focus: 10,
|
|
108
|
+
ref: cameraRef,
|
|
109
|
+
position: defaultCamPos
|
|
110
|
+
}), /*#__PURE__*/_react.default.createElement(_LightSet.default, null));
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
var _default = Panel;
|
|
114
|
+
exports.default = _default;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _Panel = _interopRequireDefault(require("./Panel"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
var Panels = function Panels(_ref) {
|
|
15
|
+
var characters = _ref.characters,
|
|
16
|
+
slots = _ref.slots,
|
|
17
|
+
activeIndex = _ref.activeIndex,
|
|
18
|
+
flex = _ref.flex;
|
|
19
|
+
return characters.map(function (char, index) {
|
|
20
|
+
var notFlexedPosition = slots.findIndex(function (s) {
|
|
21
|
+
return s.uid === char.uid;
|
|
22
|
+
});
|
|
23
|
+
var currentSlot = !flex ? notFlexedPosition : index;
|
|
24
|
+
char.index = index;
|
|
25
|
+
char.slot = currentSlot;
|
|
26
|
+
return /*#__PURE__*/_react.default.createElement(_Panel.default, {
|
|
27
|
+
key: index,
|
|
28
|
+
character: char,
|
|
29
|
+
active: activeIndex === currentSlot
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
var _default = Panels;
|
|
35
|
+
exports.default = _default;
|
|
@@ -0,0 +1,90 @@
|
|
|
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 _Panels = _interopRequireDefault(require("./Panels"));
|
|
15
|
+
|
|
16
|
+
var _drei = require("@react-three/drei");
|
|
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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
25
|
+
|
|
26
|
+
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."); }
|
|
27
|
+
|
|
28
|
+
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); }
|
|
29
|
+
|
|
30
|
+
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; }
|
|
31
|
+
|
|
32
|
+
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; }
|
|
33
|
+
|
|
34
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
35
|
+
|
|
36
|
+
function Renderer(_ref) {
|
|
37
|
+
var characters = _ref.characters,
|
|
38
|
+
slots = _ref.slots,
|
|
39
|
+
slotRefs = _ref.slotRefs,
|
|
40
|
+
flex = _ref.flex,
|
|
41
|
+
currentMessage = _ref.currentMessage;
|
|
42
|
+
|
|
43
|
+
var _useState = (0, _react.useState)(),
|
|
44
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
45
|
+
built = _useState2[0],
|
|
46
|
+
finishBuild = _useState2[1];
|
|
47
|
+
|
|
48
|
+
(0, _fiber.useFrame)(function (_ref2) {
|
|
49
|
+
var gl = _ref2.gl;
|
|
50
|
+
gl.setScissorTest(false);
|
|
51
|
+
gl.clear(true, true);
|
|
52
|
+
gl.setScissorTest(true);
|
|
53
|
+
}, 100);
|
|
54
|
+
(0, _react.useEffect)(function () {
|
|
55
|
+
finishBuild(true);
|
|
56
|
+
}, []);
|
|
57
|
+
return built ? /*#__PURE__*/_react.default.createElement(_Panels.default, {
|
|
58
|
+
characters: characters,
|
|
59
|
+
slots: slots,
|
|
60
|
+
slotRefs: slotRefs,
|
|
61
|
+
flex: flex,
|
|
62
|
+
activeIndex: currentMessage.position
|
|
63
|
+
}) : null;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
var Scene = function Scene(props) {
|
|
67
|
+
return /*#__PURE__*/_react.default.createElement(_fiber.Canvas, {
|
|
68
|
+
resize: {
|
|
69
|
+
scroll: false
|
|
70
|
+
},
|
|
71
|
+
className: "conversation--canvas",
|
|
72
|
+
style: {
|
|
73
|
+
position: 'absolute',
|
|
74
|
+
width: '100%',
|
|
75
|
+
height: '100%'
|
|
76
|
+
},
|
|
77
|
+
flat: true,
|
|
78
|
+
mode: "concurrent",
|
|
79
|
+
onCreated: function onCreated(_ref3) {
|
|
80
|
+
var gl = _ref3.gl;
|
|
81
|
+
gl.setClearColor('white', 0);
|
|
82
|
+
gl.physicallyCorrectLights = true;
|
|
83
|
+
}
|
|
84
|
+
}, /*#__PURE__*/_react.default.createElement(Renderer, props), /*#__PURE__*/_react.default.createElement(_drei.Preload, {
|
|
85
|
+
all: true
|
|
86
|
+
}));
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
var _default = Scene;
|
|
90
|
+
exports.default = _default;
|
|
@@ -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 _ConversationalProComponent = _interopRequireDefault(require("./components/ConversationalProComponent"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
var _default = _ConversationalProComponent.default;
|
|
13
|
+
exports.default = _default;
|