@gamelearn/arcade-components 2.15.2 → 2.15.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.
@@ -19,8 +19,6 @@ var _arcadeThreeCore = require("@gamelearn/arcade-three-core");
19
19
 
20
20
  var _gsap = _interopRequireDefault(require("gsap"));
21
21
 
22
- var _decisionComponent = _interopRequireDefault(require("../../decision-component"));
23
-
24
22
  var _helpers = require("../../../helpers");
25
23
 
26
24
  var _useTimeout2 = _interopRequireDefault(require("../../../helpers/useTimeout"));
@@ -31,14 +29,14 @@ var _LangIsRtl = _interopRequireDefault(require("../../../helpers/LangIsRtl"));
31
29
 
32
30
  var _BubbleWrapper = _interopRequireDefault(require("./BubbleWrapper"));
33
31
 
32
+ var _DialogDecision = _interopRequireDefault(require("./DialogDecision"));
33
+
34
34
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
35
 
36
36
  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); }
37
37
 
38
38
  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; }
39
39
 
40
- 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); }
41
-
42
40
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
43
41
 
44
42
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -533,10 +531,7 @@ var DialogComponent = function DialogComponent(_ref) {
533
531
 
534
532
 
535
533
  (0, _react.useEffect)(function () {
536
- if (isDecision) {
537
- zoomStarted.current = false;
538
- resetCameraView();
539
- } else if (isVoiceOver) {
534
+ if (isVoiceOver) {
540
535
  resetCameraView();
541
536
  setCurrentMessage({
542
537
  text: currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.text,
@@ -548,36 +543,36 @@ var DialogComponent = function DialogComponent(_ref) {
548
543
  avatar: getAvatarURL(talkingCharacter),
549
544
  show: true
550
545
  });
551
- } else if (!lastSet.current) {
552
- var slottedCharacters = currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.slots.filter(function (slot) {
553
- return slot.uid && !slot.talking;
554
- });
555
- var currentParticipants = [].concat(_toConsumableArray(slottedCharacters.map(function (slot) {
556
- return slot.uid;
557
- }) || []), [talkingCharacter === null || talkingCharacter === void 0 ? void 0 : talkingCharacter.uid]);
558
- var notInvolvedParticipants = charactersInvolved.filter(function (charUid) {
559
- return !currentParticipants.includes(charUid);
560
- });
561
- notInvolvedParticipants.forEach(function (uid) {
562
- var element = getCurrentVisible(uid);
563
-
564
- if (element) {
565
- executeDefaultAnimation(element);
566
- }
567
- }); // Check not talking elements emotion
546
+ } else if (!lastSet.current && !isDecision) {
547
+ // Talking element logic
548
+ if (talkingCharacter) {
549
+ var slottedCharacters = currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.slots.filter(function (slot) {
550
+ return slot.uid && !slot.talking;
551
+ });
552
+ var currentParticipants = [].concat(_toConsumableArray(slottedCharacters.map(function (slot) {
553
+ return slot.uid;
554
+ }) || []), [talkingCharacter === null || talkingCharacter === void 0 ? void 0 : talkingCharacter.uid]);
555
+ var notInvolvedParticipants = charactersInvolved.filter(function (charUid) {
556
+ return !currentParticipants.includes(charUid);
557
+ });
558
+ notInvolvedParticipants.forEach(function (uid) {
559
+ var element = getCurrentVisible(uid);
568
560
 
569
- slottedCharacters.forEach(function (slot) {
570
- var element = getCurrentVisible(slot.uid);
561
+ if (element) {
562
+ executeDefaultAnimation(element);
563
+ }
564
+ }); // Check not talking elements emotion
571
565
 
572
- if (element) {
573
- loadEmotion(slot, element, function (_, action, defaultAction) {
574
- var startAction = element.userData.lastEmotion ? element.userData.lastEmotion : defaultAction;
575
- (0, _helpers.executeCrossFade)(startAction, action, crossFadeDuration);
576
- });
577
- }
578
- }); // Talking element logic
566
+ slottedCharacters.forEach(function (slot) {
567
+ var element = getCurrentVisible(slot.uid);
579
568
 
580
- if (talkingCharacter) {
569
+ if (element) {
570
+ loadEmotion(slot, element, function (_, action, defaultAction) {
571
+ var startAction = element.userData.lastEmotion ? element.userData.lastEmotion : defaultAction;
572
+ (0, _helpers.executeCrossFade)(startAction, action, crossFadeDuration);
573
+ });
574
+ }
575
+ });
581
576
  var element = getCurrentVisible(talkingCharacter.uid);
582
577
  var object = actors.find(function (a) {
583
578
  return a.uid === talkingCharacter.uid;
@@ -727,6 +722,14 @@ var DialogComponent = function DialogComponent(_ref) {
727
722
  onStart: function onStart() {
728
723
  zoomStarted.current = true;
729
724
  },
725
+ onUpdate: function onUpdate() {
726
+ if (changedMats.current.length) {
727
+ changedMats.current.forEach(function (o) {
728
+ var object = o.object;
729
+ object.material.visible = true;
730
+ });
731
+ }
732
+ },
730
733
  onComplete: function onComplete() {
731
734
  onZoomEnd.current();
732
735
 
@@ -755,33 +758,16 @@ var DialogComponent = function DialogComponent(_ref) {
755
758
  y: animationTarget.current.position.y,
756
759
  z: animationTarget.current.position.z
757
760
  });
758
- } else {
761
+ } else if (zoomStarted.current) {
759
762
  zoomStarted.current = false;
760
763
  }
761
- }, [animationRunning]); // Animate Camera
762
- // 🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
763
-
764
- (0, _fiber.useFrame)(function () {
765
- if (animationRunning) {
766
- if (changedMats.current.length) {
767
- changedMats.current.forEach(function (o) {
768
- var object = o.object;
769
- object.material.visible = true;
770
- });
771
- }
772
- }
773
- });
774
- var container = document.querySelector('.screens--container');
775
- var cleanStyle = {
776
- width: '100vw',
777
- height: '100vh',
778
- position: 'static'
779
- };
764
+ }, [animationRunning]);
780
765
  var disableBackButton = (0, _react.useMemo)(function () {
781
766
  var disabled = line === 0 || previousLineWasDecision();
782
767
  return disabled;
783
768
  }, [line, previousLineWasDecision]);
784
769
  keyboardControl(isDecision || disableBackButton || animationRunning ? null : manualBackLine, isDecision || animationRunning ? null : manualNextLine);
770
+ var container = document.querySelector('.screens--container');
785
771
 
786
772
  if (isDecision) {
787
773
  var decisionPayload = _objectSpread(_objectSpread({}, currentLineData.payload), {}, {
@@ -795,22 +781,16 @@ var DialogComponent = function DialogComponent(_ref) {
795
781
  emitEvent: emitEvent,
796
782
  pause: pause,
797
783
  soundActions: soundActions,
798
- keyboardControl: keyboardControl
784
+ keyboardControl: keyboardControl,
785
+ onMount: function onMount() {
786
+ resetCameraView();
787
+ },
788
+ onUnMount: function onUnMount() {
789
+ zoomStarted.current = false;
790
+ }
799
791
  });
800
792
 
801
- return /*#__PURE__*/_react.default.createElement(_arcadeThreeCore.HtmlPro, {
802
- zIndexRange: [6, 6],
803
- style: cleanStyle,
804
- portal: container ? {
805
- current: container
806
- } : undefined,
807
- onOcclude: function onOcclude() {},
808
- calculatePosition: function calculatePosition() {
809
- return [0, 0];
810
- }
811
- }, /*#__PURE__*/_react.default.createElement(_decisionComponent.default, _extends({
812
- inScene: true
813
- }, decisionPayload)));
793
+ return /*#__PURE__*/_react.default.createElement(_DialogDecision.default, decisionPayload);
814
794
  }
815
795
 
816
796
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, currentMessage.text ? /*#__PURE__*/_react.default.createElement(_BubbleWrapper.default, {
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _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 _arcadeThreeCore = require("@gamelearn/arcade-three-core");
13
+
14
+ var _decisionComponent = _interopRequireDefault(require("../../decision-component"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
22
+ 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); }
23
+
24
+ var cleanStyle = {
25
+ width: '100vw',
26
+ height: '100vh',
27
+ position: 'static'
28
+ };
29
+
30
+ var DialogDecision = function DialogDecision(props) {
31
+ var container = document.querySelector('.screens--container');
32
+ (0, _react.useEffect)(function () {
33
+ if (props.onMount) props.onMount();
34
+ return function () {
35
+ if (props.onUnMount) props.onUnMount();
36
+ }; // eslint-disable-next-line react-hooks/exhaustive-deps
37
+ }, []);
38
+ return /*#__PURE__*/_react.default.createElement(_arcadeThreeCore.HtmlPro, {
39
+ zIndexRange: [6, 6],
40
+ style: cleanStyle,
41
+ portal: container ? {
42
+ current: container
43
+ } : undefined,
44
+ onOcclude: function onOcclude() {},
45
+ calculatePosition: function calculatePosition() {
46
+ return [0, 0];
47
+ }
48
+ }, /*#__PURE__*/_react.default.createElement(_decisionComponent.default, _extends({
49
+ inScene: true
50
+ }, props)));
51
+ };
52
+
53
+ var _default = DialogDecision;
54
+ exports.default = _default;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@gamelearn/arcade-components",
3
3
  "author": "Gamelearn",
4
4
  "license": "unlicense",
5
- "version": "2.15.2",
5
+ "version": "2.15.3",
6
6
  "main": "dist/index.js",
7
7
  "files": [
8
8
  "dist",