@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 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 = _interopRequireWildcard(require("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, null)), /*#__PURE__*/_react.default.createElement("div", {
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 slottedCharacters = currentLine.slots.filter(function (slot) {
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
- resetAnims(line >= lines.length - 1);
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
- }, [line, lines, camera, resetAnims, emitEvent]);
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
- return currentMessage.text ? /*#__PURE__*/_react.default.createElement(_drei.Html, {
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;
@@ -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.2",
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",