@gamelearn/arcade-components 0.25.2 → 0.25.4
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 +3 -1
- package/dist/components/arcade-render/background/scene-elements/index.js +4 -1
- package/dist/components/arcade-render/elements-list/index.js +1 -15
- package/dist/components/arcade-render/scene/index.js +8 -2
- package/dist/components/dialog-component/components/DialogComponent.js +57 -22
- package/dist/components/index.js +16 -0
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -57,13 +57,15 @@ Cómo solución alternativa podemos instalar `yalc` que permite publicar el paqu
|
|
|
57
57
|
```bash
|
|
58
58
|
yarn global add yalc
|
|
59
59
|
```
|
|
60
|
+
Si teneis problemas instalándolo en global :
|
|
61
|
+
yarn global add yalc --prefix /usr/local
|
|
60
62
|
|
|
61
63
|
Para generar el paquete en el store local:
|
|
62
64
|
|
|
63
65
|
```bash
|
|
64
66
|
yarn
|
|
65
67
|
yarn compile
|
|
66
|
-
yalc publish
|
|
68
|
+
yalc publish o yarn yalc publish
|
|
67
69
|
```
|
|
68
70
|
|
|
69
71
|
Después, en el repositorio de `arcade` tendremos que linkar el paquete generado de la siguiente forma:
|
|
@@ -82,7 +82,10 @@ var SceneElements = function SceneElements(_ref) {
|
|
|
82
82
|
return /*#__PURE__*/_react.default.createElement(_drei.PerspectiveCamera, _extends({
|
|
83
83
|
makeDefault: object.defaultCamera
|
|
84
84
|
}, object, {
|
|
85
|
-
key: object.name
|
|
85
|
+
key: object.name,
|
|
86
|
+
onUpdate: function onUpdate(self) {
|
|
87
|
+
self.layers.enableAll();
|
|
88
|
+
}
|
|
86
89
|
}));
|
|
87
90
|
} //lights
|
|
88
91
|
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
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
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.default = void 0;
|
|
9
7
|
|
|
10
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
9
|
|
|
12
10
|
var _element = _interopRequireDefault(require("../element"));
|
|
13
11
|
|
|
@@ -15,14 +13,8 @@ var _Poster = _interopRequireDefault(require("./Poster"));
|
|
|
15
13
|
|
|
16
14
|
var _ClickableArea = _interopRequireDefault(require("./ClickableArea"));
|
|
17
15
|
|
|
18
|
-
var _fiber = require("@react-three/fiber");
|
|
19
|
-
|
|
20
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
17
|
|
|
22
|
-
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
23
|
-
|
|
24
|
-
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; }
|
|
25
|
-
|
|
26
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); }
|
|
27
19
|
|
|
28
20
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
@@ -63,12 +55,6 @@ var ElementsList = function ElementsList(_ref) {
|
|
|
63
55
|
});
|
|
64
56
|
};
|
|
65
57
|
|
|
66
|
-
var camera = (0, _fiber.useThree)(function (state) {
|
|
67
|
-
return state.camera;
|
|
68
|
-
});
|
|
69
|
-
(0, _react.useLayoutEffect)(function () {
|
|
70
|
-
camera.layers.enableAll();
|
|
71
|
-
}, [camera]);
|
|
72
58
|
return /*#__PURE__*/_react.default.createElement("group", {
|
|
73
59
|
name: "CLICKABLE_ELEMENTS"
|
|
74
60
|
}, elements === null || elements === void 0 ? void 0 : elements.map(function (_ref3) {
|
|
@@ -62,9 +62,12 @@ var Scene = function Scene(_ref) {
|
|
|
62
62
|
showLoad = _useState2[0],
|
|
63
63
|
setShowLoad = _useState2[1];
|
|
64
64
|
|
|
65
|
+
var orbit = (0, _react.useRef)();
|
|
66
|
+
|
|
65
67
|
var handleOnCreate = function handleOnCreate(_ref2) {
|
|
66
68
|
var gl = _ref2.gl,
|
|
67
|
-
raycaster = _ref2.raycaster
|
|
69
|
+
raycaster = _ref2.raycaster,
|
|
70
|
+
camera = _ref2.camera;
|
|
68
71
|
raycaster.layers.set(1);
|
|
69
72
|
gl.outputEncoding = 3001;
|
|
70
73
|
gl.gammaFactor = 2.2;
|
|
@@ -72,6 +75,7 @@ var Scene = function Scene(_ref) {
|
|
|
72
75
|
gl.setPixelRatio(window.devicePixelRatio);
|
|
73
76
|
gl.setSize(window.innerWidth, window.innerHeight);
|
|
74
77
|
gl.physicallyCorrectLights = true;
|
|
78
|
+
camera.layers.enableAll();
|
|
75
79
|
};
|
|
76
80
|
|
|
77
81
|
var onFinish = function onFinish() {
|
|
@@ -114,7 +118,9 @@ var Scene = function Scene(_ref) {
|
|
|
114
118
|
lodSettings: lodSettings
|
|
115
119
|
}), children, /*#__PURE__*/_react.default.createElement(_drei.Preload, {
|
|
116
120
|
all: true
|
|
117
|
-
})), has3Stats && /*#__PURE__*/_react.default.createElement(_drei.Stats, null), hasControls && /*#__PURE__*/_react.default.createElement(_drei.OrbitControls,
|
|
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", {
|
|
118
124
|
id: "elements-projection"
|
|
119
125
|
}));
|
|
120
126
|
};
|
|
@@ -17,10 +17,20 @@ var _three = require("three");
|
|
|
17
17
|
|
|
18
18
|
var _GLTFLoader = require("three/examples/jsm/loaders/GLTFLoader");
|
|
19
19
|
|
|
20
|
+
var _decisionComponent = _interopRequireDefault(require("../../decision-component"));
|
|
21
|
+
|
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
+
|
|
20
24
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
21
25
|
|
|
22
26
|
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
27
|
|
|
28
|
+
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; }
|
|
29
|
+
|
|
30
|
+
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; }
|
|
31
|
+
|
|
32
|
+
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; }
|
|
33
|
+
|
|
24
34
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
25
35
|
|
|
26
36
|
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."); }
|
|
@@ -37,6 +47,7 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
37
47
|
var emitEvent = _ref.emitEvent,
|
|
38
48
|
lines = _ref.lines,
|
|
39
49
|
actors = _ref.actors,
|
|
50
|
+
soundActions = _ref.soundActions,
|
|
40
51
|
enableZoom = _ref.enableZoom;
|
|
41
52
|
|
|
42
53
|
var _useState = (0, _react.useState)(0),
|
|
@@ -68,10 +79,12 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
68
79
|
var currentLine = lines[line];
|
|
69
80
|
var lastLine = lines[line - 1];
|
|
70
81
|
var resetAnims = (0, _react.useCallback)(function (end) {
|
|
71
|
-
var
|
|
82
|
+
var _currentLine$slots, _lastLine$slots;
|
|
83
|
+
|
|
84
|
+
var slottedCharacters = (_currentLine$slots = currentLine.slots) === null || _currentLine$slots === void 0 ? void 0 : _currentLine$slots.filter(function (slot) {
|
|
72
85
|
return slot.uid;
|
|
73
86
|
});
|
|
74
|
-
var lastSlotterCharacters = lastLine === null || lastLine === void 0 ? void 0 : lastLine.slots.filter(function (slot) {
|
|
87
|
+
var lastSlotterCharacters = lastLine === null || lastLine === void 0 ? void 0 : (_lastLine$slots = lastLine.slots) === null || _lastLine$slots === void 0 ? void 0 : _lastLine$slots.filter(function (slot) {
|
|
75
88
|
return slot.uid;
|
|
76
89
|
});
|
|
77
90
|
|
|
@@ -99,28 +112,35 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
99
112
|
}
|
|
100
113
|
});
|
|
101
114
|
}, [lastLine === null || lastLine === void 0 ? void 0 : lastLine.slots, currentLine, scene]);
|
|
115
|
+
var nextLine = (0, _react.useCallback)(function () {
|
|
116
|
+
resetAnims(line >= lines.length - 1);
|
|
117
|
+
|
|
118
|
+
if (line < lines.length - 1) {
|
|
119
|
+
changeLine(line + 1);
|
|
120
|
+
} else {
|
|
121
|
+
messagePosition.current = defaultCamera.current.position.clone().add(new _three.Vector3(0, 5, -35));
|
|
122
|
+
animationStart.current = true;
|
|
123
|
+
setCurrentMessage({
|
|
124
|
+
text: ''
|
|
125
|
+
});
|
|
126
|
+
setTimeout(function () {
|
|
127
|
+
camera.copy(defaultCamera.current);
|
|
128
|
+
emitEvent({
|
|
129
|
+
type: 'success'
|
|
130
|
+
});
|
|
131
|
+
}, 2000);
|
|
132
|
+
}
|
|
133
|
+
}, [camera, emitEvent, line, lines.length, resetAnims]);
|
|
102
134
|
var onKeyCallback = (0, _react.useCallback)(function (e) {
|
|
103
135
|
if (e.keyCode === 32) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
if (line < lines.length - 1) {
|
|
107
|
-
changeLine(line + 1);
|
|
108
|
-
} else {
|
|
109
|
-
messagePosition.current = defaultCamera.current.position.clone().add(new _three.Vector3(0, 5, -35));
|
|
110
|
-
animationStart.current = true;
|
|
111
|
-
setCurrentMessage({
|
|
112
|
-
text: ''
|
|
113
|
-
});
|
|
114
|
-
setTimeout(function () {
|
|
115
|
-
camera.copy(defaultCamera.current);
|
|
116
|
-
emitEvent({
|
|
117
|
-
type: 'success'
|
|
118
|
-
});
|
|
119
|
-
}, 2000);
|
|
120
|
-
}
|
|
136
|
+
nextLine();
|
|
121
137
|
}
|
|
122
|
-
}, [
|
|
138
|
+
}, [nextLine]);
|
|
123
139
|
(0, _react.useEffect)(function () {
|
|
140
|
+
setCurrentMessage({
|
|
141
|
+
text: ''
|
|
142
|
+
});
|
|
143
|
+
if (currentLine.decision) return;
|
|
124
144
|
var talkingCharacter = currentLine.slots.find(function (slot) {
|
|
125
145
|
return slot.talking;
|
|
126
146
|
});
|
|
@@ -178,7 +198,22 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
178
198
|
}
|
|
179
199
|
}
|
|
180
200
|
});
|
|
181
|
-
|
|
201
|
+
|
|
202
|
+
var decisionPayload = _objectSpread(_objectSpread({}, currentLine.payload), {}, {
|
|
203
|
+
onFinish: nextLine,
|
|
204
|
+
emitEvent: emitEvent,
|
|
205
|
+
soundActions: soundActions
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, currentLine.decision ? /*#__PURE__*/_react.default.createElement(_drei.Html, {
|
|
209
|
+
style: {
|
|
210
|
+
width: '100vw',
|
|
211
|
+
height: '100vh'
|
|
212
|
+
},
|
|
213
|
+
calculatePosition: function calculatePosition() {
|
|
214
|
+
return [0, 0];
|
|
215
|
+
}
|
|
216
|
+
}, /*#__PURE__*/_react.default.createElement(_decisionComponent.default, decisionPayload)) : null, currentMessage.text ? /*#__PURE__*/_react.default.createElement(_drei.Html, {
|
|
182
217
|
position: messagePosition.current,
|
|
183
218
|
zIndexRange: [3, 0],
|
|
184
219
|
sprite: true
|
|
@@ -203,7 +238,7 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
203
238
|
wordWrap: 'break-word',
|
|
204
239
|
overflow: 'auto'
|
|
205
240
|
}
|
|
206
|
-
}, currentMessage.text))) : null;
|
|
241
|
+
}, currentMessage.text))) : null);
|
|
207
242
|
};
|
|
208
243
|
|
|
209
244
|
var _default = DialogComponent;
|
package/dist/components/index.js
CHANGED
|
@@ -23,6 +23,18 @@ Object.defineProperty(exports, "Background", {
|
|
|
23
23
|
return _background.default;
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
|
+
Object.defineProperty(exports, "Element", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function get() {
|
|
29
|
+
return _element.default;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports, "AnimateElement", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function get() {
|
|
35
|
+
return _AnimateElement.default;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
26
38
|
Object.defineProperty(exports, "NoticeComponent", {
|
|
27
39
|
enumerable: true,
|
|
28
40
|
get: function get() {
|
|
@@ -240,6 +252,10 @@ var _elementsList = _interopRequireDefault(require("./arcade-render/elements-lis
|
|
|
240
252
|
|
|
241
253
|
var _background = _interopRequireDefault(require("./arcade-render/background"));
|
|
242
254
|
|
|
255
|
+
var _element = _interopRequireDefault(require("./arcade-render/element"));
|
|
256
|
+
|
|
257
|
+
var _AnimateElement = _interopRequireDefault(require("./arcade-render/element/AnimateElement"));
|
|
258
|
+
|
|
243
259
|
var _noticeComponent = _interopRequireDefault(require("./notice-component"));
|
|
244
260
|
|
|
245
261
|
var _inventoryItem = _interopRequireDefault(require("./inventory-item"));
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamelearn/arcade-components",
|
|
3
3
|
"license": "Gamelearn",
|
|
4
|
-
"version": "0.25.
|
|
4
|
+
"version": "0.25.4",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist",
|
|
@@ -14,9 +14,11 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@react-three/drei": "^7.8.0",
|
|
16
16
|
"@react-three/fiber": "^7.0.2",
|
|
17
|
+
"@react-three/postprocessing": "^2.0.5",
|
|
17
18
|
"@testing-library/jest-dom": "5.11.4",
|
|
18
19
|
"@testing-library/react": "11.1.0",
|
|
19
20
|
"@testing-library/user-event": "12.1.10",
|
|
21
|
+
"global": "^4.4.0",
|
|
20
22
|
"hls.js": "0.12.4",
|
|
21
23
|
"html-react-parser": "^0.10.2",
|
|
22
24
|
"interactjs": "^1.10.11",
|