@gamelearn/arcade-components 0.26.1 → 0.26.3

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.
@@ -64,7 +64,9 @@ var Element = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
64
64
  onLoad = _ref.onLoad,
65
65
  userData = _ref.userData,
66
66
  enableBounding = _ref.enableBounding,
67
- props = _objectWithoutProperties(_ref, ["url", "animationUrl", "position", "rotation", "scale", "size", "material", "layers", "type", "onLoad", "userData", "enableBounding"]);
67
+ _ref$showProjection = _ref.showProjection,
68
+ showProjection = _ref$showProjection === void 0 ? true : _ref$showProjection,
69
+ props = _objectWithoutProperties(_ref, ["url", "animationUrl", "position", "rotation", "scale", "size", "material", "layers", "type", "onLoad", "userData", "enableBounding", "showProjection"]);
68
70
 
69
71
  var model = (0, _useGLB.default)(url);
70
72
  var modelClone = (0, _react.useMemo)(function () {
@@ -139,7 +141,7 @@ var Element = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
139
141
  position: position,
140
142
  rotation: rotation,
141
143
  scale: usingScale
142
- }, props)), props.uid ? /*#__PURE__*/_react.default.createElement(_Projection.default, {
144
+ }, props)), props.uid && showProjection ? /*#__PURE__*/_react.default.createElement(_Projection.default, {
143
145
  object: modelClone,
144
146
  element: _objectSpread(_objectSpread({}, props), {}, {
145
147
  type: type
@@ -35,13 +35,18 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
35
35
 
36
36
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
37
37
 
38
- var ClickableArea = function ClickableArea(_ref) {
38
+ var ClickableArea = /*#__PURE__*/_react.default.forwardRef(function (_ref, _ref2) {
39
39
  var position = _ref.position,
40
40
  rotation = _ref.rotation,
41
41
  _ref$scale = _ref.scale,
42
42
  scale = _ref$scale === void 0 ? [1, 1, 1] : _ref$scale,
43
43
  size = _ref.size,
44
- props = _objectWithoutProperties(_ref, ["position", "rotation", "scale", "size"]);
44
+ _ref$showProjection = _ref.showProjection,
45
+ showProjection = _ref$showProjection === void 0 ? true : _ref$showProjection,
46
+ onLoad = _ref.onLoad,
47
+ _ref$showMat = _ref.showMat,
48
+ showMat = _ref$showMat === void 0 ? false : _ref$showMat,
49
+ props = _objectWithoutProperties(_ref, ["position", "rotation", "scale", "size", "showProjection", "onLoad", "showMat"]);
45
50
 
46
51
  var usingScale = size ? [size.width, size.height, size.depth] : scale;
47
52
  var object = (0, _react.useRef)();
@@ -56,25 +61,32 @@ var ClickableArea = function ClickableArea(_ref) {
56
61
  }
57
62
 
58
63
  (0, _react.useEffect)(function () {
64
+ if (onLoad) onLoad(object.current);
59
65
  setLoaded(true);
60
- }, []);
66
+ }, [onLoad]);
61
67
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("mesh", _extends({
62
- ref: object,
68
+ ref: function ref(node) {
69
+ if (node) {
70
+ object.current = node;
71
+ if (_ref2) _ref2.current = node;
72
+ }
73
+ },
63
74
  position: position,
64
75
  rotation: rotation,
65
76
  scale: usingScale
66
77
  }, props), /*#__PURE__*/_react.default.createElement("meshBasicMaterial", {
67
78
  color: "white",
79
+ opacity: 0.5,
68
80
  transparent: true,
69
- visible: false,
81
+ visible: showMat,
70
82
  side: 2
71
83
  }), /*#__PURE__*/_react.default.createElement("planeBufferGeometry", {
72
84
  args: [1, 1, 2]
73
- })), loaded ? /*#__PURE__*/_react.default.createElement(_Projection.default, {
85
+ })), loaded && showProjection ? /*#__PURE__*/_react.default.createElement(_Projection.default, {
74
86
  object: object.current,
75
87
  element: props
76
88
  }) : null);
77
- };
89
+ });
78
90
 
79
91
  var _default = ClickableArea;
80
92
  exports.default = _default;
@@ -37,14 +37,17 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
37
37
 
38
38
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
39
39
 
40
- var Poster = function Poster(_ref) {
40
+ var Poster = /*#__PURE__*/_react.default.forwardRef(function (_ref, _ref2) {
41
41
  var url = _ref.url,
42
42
  position = _ref.position,
43
43
  rotation = _ref.rotation,
44
44
  _ref$scale = _ref.scale,
45
45
  scale = _ref$scale === void 0 ? [1, 1, 1] : _ref$scale,
46
46
  size = _ref.size,
47
- props = _objectWithoutProperties(_ref, ["url", "position", "rotation", "scale", "size"]);
47
+ _ref$showProjection = _ref.showProjection,
48
+ showProjection = _ref$showProjection === void 0 ? true : _ref$showProjection,
49
+ onLoad = _ref.onLoad,
50
+ props = _objectWithoutProperties(_ref, ["url", "position", "rotation", "scale", "size", "showProjection", "onLoad"]);
48
51
 
49
52
  var texture = (0, _drei.useTexture)(url);
50
53
  var usingScale = size ? Object.values(size) : scale;
@@ -57,10 +60,16 @@ var Poster = function Poster(_ref) {
57
60
  var object = (0, _react.useRef)();
58
61
  var imageRatio = texture.image.height / texture.image.width;
59
62
  (0, _react.useEffect)(function () {
63
+ if (onLoad) onLoad(object.current);
60
64
  setLoaded(true);
61
- }, []);
65
+ }, [onLoad]);
62
66
  return texture ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("mesh", _extends({
63
- ref: object,
67
+ ref: function ref(node) {
68
+ if (node) {
69
+ object.current = node;
70
+ if (_ref2) _ref2.current = node;
71
+ }
72
+ },
64
73
  position: position,
65
74
  rotation: rotation,
66
75
  scale: [usingScale[0] / imageRatio, usingScale[1], [2]]
@@ -71,11 +80,11 @@ var Poster = function Poster(_ref) {
71
80
  side: 2
72
81
  }), /*#__PURE__*/_react.default.createElement("planeBufferGeometry", {
73
82
  args: [10, 10, 10]
74
- })), loaded ? /*#__PURE__*/_react.default.createElement(_Projection.default, {
83
+ })), loaded && showProjection ? /*#__PURE__*/_react.default.createElement(_Projection.default, {
75
84
  object: object.current,
76
85
  element: props
77
86
  }) : null) : null;
78
- };
87
+ });
79
88
 
80
89
  var _default = Poster;
81
90
  exports.default = _default;
@@ -17,6 +17,18 @@ Object.defineProperty(exports, "ElementList", {
17
17
  return _elementsList.default;
18
18
  }
19
19
  });
20
+ Object.defineProperty(exports, "ClickableArea", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _ClickableArea.default;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "Poster", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _Poster.default;
30
+ }
31
+ });
20
32
  Object.defineProperty(exports, "Background", {
21
33
  enumerable: true,
22
34
  get: function get() {
@@ -256,6 +268,10 @@ var _scene = _interopRequireDefault(require("./arcade-render/scene"));
256
268
 
257
269
  var _elementsList = _interopRequireDefault(require("./arcade-render/elements-list"));
258
270
 
271
+ var _ClickableArea = _interopRequireDefault(require("./arcade-render/elements-list/ClickableArea"));
272
+
273
+ var _Poster = _interopRequireDefault(require("./arcade-render/elements-list/Poster"));
274
+
259
275
  var _background = _interopRequireDefault(require("./arcade-render/background"));
260
276
 
261
277
  var _element = _interopRequireDefault(require("./arcade-render/element"));
@@ -121,25 +121,20 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
121
121
  feedbackScreen = _useState19[0],
122
122
  setFeedbackScreen = _useState19[1];
123
123
 
124
- var _useState20 = (0, _react.useState)(false),
124
+ var _useState20 = (0, _react.useState)(true),
125
125
  _useState21 = _slicedToArray(_useState20, 2),
126
- feedbackScreenDone = _useState21[0],
127
- setFeedbackScreenDone = _useState21[1];
126
+ isActive = _useState21[0],
127
+ setIsActive = _useState21[1];
128
128
 
129
- var _useState22 = (0, _react.useState)(true),
129
+ var _useState22 = (0, _react.useState)([]),
130
130
  _useState23 = _slicedToArray(_useState22, 2),
131
- isActive = _useState23[0],
132
- setIsActive = _useState23[1];
131
+ rewardsStack = _useState23[0],
132
+ setRewardsStack = _useState23[1];
133
133
 
134
- var _useState24 = (0, _react.useState)([]),
134
+ var _useState24 = (0, _react.useState)(true),
135
135
  _useState25 = _slicedToArray(_useState24, 2),
136
- rewardsStack = _useState25[0],
137
- setRewardsStack = _useState25[1];
138
-
139
- var _useState26 = (0, _react.useState)(true),
140
- _useState27 = _slicedToArray(_useState26, 2),
141
- disableExit = _useState27[0],
142
- setDisableExit = _useState27[1];
136
+ disableExit = _useState25[0],
137
+ setDisableExit = _useState25[1];
143
138
 
144
139
  var _soundActions = _slicedToArray(soundActions, 1),
145
140
  playSound = _soundActions[0];
@@ -231,7 +226,7 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
231
226
  var checkFeedbackScreen = function checkFeedbackScreen() {
232
227
  return decisionsList.find(function (decision) {
233
228
  var feedback = texts[decision.currenTextParagraph].electionTexts[decision.index].feedback;
234
- return feedback.body !== null || feedback.rewards && feedback.rewards.length > 0;
229
+ return feedback.body || feedback.rewards && feedback.rewards.length > 0;
235
230
  });
236
231
  };
237
232
 
@@ -301,7 +296,6 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
301
296
  } else if (checkAllDecisionsRightWrong()) {
302
297
  // if all Decisions are right or wrong we just skip to end
303
298
  setReviewDone(true);
304
- setFeedbackScreenDone(true);
305
299
  endGame();
306
300
  }
307
301
 
@@ -312,22 +306,15 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
312
306
  if (checkFeedbackScreen()) {
313
307
  // CHECK IF THERE IS NEED OF FEEDBACK SCREEN
314
308
  setFeedbackScreen(true);
315
- } else {
316
- setFeedbackScreenDone(true);
317
309
  }
318
- }
319
-
320
- if (reviewDone && !feedbackScreenDone) {
310
+ } else {
321
311
  setIsActive(false); // Second EXECUTION shows Feedback Screen
322
312
 
323
- if (feedbackScreen) {
313
+ if (feedbackScreen && !showFeedback) {
324
314
  setShowFeedback(true);
315
+ } else if (showFeedback || !feedbackScreen && !showFeedback) {
316
+ endGame();
325
317
  }
326
- } // Third EXECUTION Give Points
327
-
328
-
329
- if (feedbackScreenDone) {
330
- endGame();
331
318
  }
332
319
  };
333
320
 
@@ -468,12 +455,7 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
468
455
  return _setFailed(true);
469
456
  },
470
457
  decisionsList: decisionsList,
471
- closingAction: function closingAction() {
472
- return setShowFeedback(false);
473
- },
474
- feedbackIsDone: function feedbackIsDone() {
475
- return setFeedbackScreenDone(true);
476
- },
458
+ closingAction: handleFinish,
477
459
  retry: retry,
478
460
  skip: skip,
479
461
  checkCorrect: checkAllDecisionsAreCorrect,
@@ -313,7 +313,7 @@ var drawLOD = function drawLOD(scene, camera, settings) {
313
313
  params._forceRender = (scene === null || scene === void 0 ? void 0 : scene.lastLOD) !== (settings === null || settings === void 0 ? void 0 : settings.currentLOD) || (scene === null || scene === void 0 ? void 0 : scene.lastRGB) !== params._rgbSimulation;
314
314
  scene.lastLOD = settings === null || settings === void 0 ? void 0 : settings.currentLOD;
315
315
  scene.lastRGB = params._rgbSimulation;
316
- params._texturesFrustum = texturesFrustum;
316
+ params._texturesFrustum = (settings === null || settings === void 0 ? void 0 : settings.texturesFrustum) !== undefined ? settings.texturesFrustum : texturesFrustum;
317
317
  params._texturesDistance = texturesDistance;
318
318
  params._scene = scene;
319
319
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gamelearn/arcade-components",
3
3
  "license": "Gamelearn",
4
- "version": "0.26.1",
4
+ "version": "0.26.3",
5
5
  "main": "dist/index.js",
6
6
  "files": [
7
7
  "dist",