635d373e206601884c96847cb1eeeefae856f2ab.js 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. System.register(["__unresolved_0", "cc", "__unresolved_1", "__unresolved_2", "__unresolved_3"], function (_export, _context) {
  2. "use strict";
  3. var _reporterNs, _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, _decorator, Component, director, find, Node, Vec3, Cube_Infor, Cube_State, Container_Manager, Hall, _dec, _dec2, _class, _class2, _descriptor, _crd, ccclass, property, CreateIdiom;
  4. function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
  5. function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
  6. function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }
  7. function _reportPossibleCrUseOfCube_Infor(extras) {
  8. _reporterNs.report("Cube_Infor", "./Cube_Infor", _context.meta, extras);
  9. }
  10. function _reportPossibleCrUseOfCube_State(extras) {
  11. _reporterNs.report("Cube_State", "./Cube_Infor", _context.meta, extras);
  12. }
  13. function _reportPossibleCrUseOfContainer_Manager(extras) {
  14. _reporterNs.report("Container_Manager", "./Container_Manager", _context.meta, extras);
  15. }
  16. function _reportPossibleCrUseOfHall(extras) {
  17. _reporterNs.report("Hall", "../hall/Hall", _context.meta, extras);
  18. }
  19. return {
  20. setters: [function (_unresolved_) {
  21. _reporterNs = _unresolved_;
  22. }, function (_cc) {
  23. _cclegacy = _cc.cclegacy;
  24. __checkObsolete__ = _cc.__checkObsolete__;
  25. __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__;
  26. _decorator = _cc._decorator;
  27. Component = _cc.Component;
  28. director = _cc.director;
  29. find = _cc.find;
  30. Node = _cc.Node;
  31. Vec3 = _cc.Vec3;
  32. }, function (_unresolved_2) {
  33. Cube_Infor = _unresolved_2.Cube_Infor;
  34. Cube_State = _unresolved_2.Cube_State;
  35. }, function (_unresolved_3) {
  36. Container_Manager = _unresolved_3.Container_Manager;
  37. }, function (_unresolved_4) {
  38. Hall = _unresolved_4.Hall;
  39. }],
  40. execute: function () {
  41. _crd = true;
  42. _cclegacy._RF.push({}, "3b901oU5ZJHnp8TtJiYjZWZ", "CreateIdiom", undefined);
  43. __checkObsolete__(['_decorator', 'Component', 'debug', 'director', 'find', 'instantiate', 'Layers', 'Node', 'NodePool', 'Prefab', 'tween', 'Vec3']);
  44. ({
  45. ccclass,
  46. property
  47. } = _decorator);
  48. _export("CreateIdiom", CreateIdiom = (_dec = ccclass('CreateIdiom'), _dec2 = property([Node]), _dec(_class = (_class2 = class CreateIdiom extends Component {
  49. constructor() {
  50. super(...arguments);
  51. this.Container = void 0;
  52. this.animationRunning = false;
  53. // 控制是否有动画正在运行
  54. _initializerDefineProperty(this, "startPos", _descriptor, this);
  55. }
  56. onLoad() {
  57. this.Container = find('Container').getComponent(_crd && Container_Manager === void 0 ? (_reportPossibleCrUseOfContainer_Manager({
  58. error: Error()
  59. }), Container_Manager) : Container_Manager);
  60. }
  61. update(deltaTime) {}
  62. nodeMoving() {
  63. if ((_crd && Hall === void 0 ? (_reportPossibleCrUseOfHall({
  64. error: Error()
  65. }), Hall) : Hall).getInstance().player.get_max_floor() !== 0) {
  66. this.node.setPosition(new Vec3(0, 1.6, -0.5));
  67. var startPos = this.node.position; // 起点,抛物线开始的坐标
  68. var middlePos = new Vec3(this.node.position.x, this.node.position.y + 1, -0.5); // 中间控制点
  69. var destPos = new Vec3(this.node.position.x, this.node.position.y + 2, -0.5); // 终点,抛物线上升顶点
  70. var lastGeneratedPosition = null; // 记录上一次生成方块的位置
  71. // 保持原来贝塞尔曲线和螺旋效果的计算
  72. var twoBezier = (t, p1, cp, p2) => {
  73. var x = (1 - t) * (1 - t) * p1.x + 2 * t * (1 - t) * cp.x + t * t * p2.x;
  74. var y = (1 - t) * (1 - t) * p1.y + 2 * t * (1 - t) * cp.y + t * t * p2.y;
  75. var z = (1 - t) * (1 - t) * p1.z + 2 * t * (1 - t) * cp.z + t * t * p2.z;
  76. var angle = t * Math.PI * 10; // 缓动的半径计算方法,调整第一圈半径的变化速度
  77. var radius = 1.2 - Math.pow(t, 2); // 使用平方函数,t小的时候变化较大,t大时变化变缓
  78. var xOffset = Math.cos(angle) * radius;
  79. var zOffset = Math.sin(angle) * radius;
  80. return new Vec3(x + xOffset, y, z + zOffset);
  81. };
  82. var createdNodes = 0; // 已生成的节点计数
  83. var animationStopped = false; // 控制动画是否已经停止
  84. var t = 0; // 进度 t,0 为起点,1 为终点
  85. var updatePosition = () => {
  86. if (animationStopped) return;
  87. this.node.position = twoBezier(t, startPos, middlePos, destPos);
  88. var cube = this.Container.getCube();
  89. if (cube != null && cube.getComponent(_crd && Cube_Infor === void 0 ? (_reportPossibleCrUseOfCube_Infor({
  90. error: Error()
  91. }), Cube_Infor) : Cube_Infor).state === (_crd && Cube_State === void 0 ? (_reportPossibleCrUseOfCube_State({
  92. error: Error()
  93. }), Cube_State) : Cube_State).live) {
  94. var newNode = cube;
  95. newNode.parent = director.getScene(); // 随机左右偏移量,范围设定为 [-0.5, 0.5]
  96. var randomXOffset = Math.random() * 1 - 0.5; // 生成一个[-0.5, 0.5]之间的随机值
  97. newNode.setPosition(this.node.position.x + randomXOffset, this.node.position.y, this.node.position.z);
  98. this.Container.nodeReferences.push(newNode);
  99. lastGeneratedPosition = this.node.position.clone(); // 更新上次生成位置
  100. console.log(cube.getComponent(_crd && Cube_Infor === void 0 ? (_reportPossibleCrUseOfCube_Infor({
  101. error: Error()
  102. }), Cube_Infor) : Cube_Infor).Text);
  103. createdNodes++;
  104. }
  105. var totalCubes = 60; // 设置生成方块的间隔,可以调整生成速度
  106. var interval = 0.01; // 控制生成间隔的速率,可以根据需要调整
  107. if (createdNodes >= totalCubes) {
  108. animationStopped = true;
  109. this.Container.canTouch = true;
  110. console.log("所有方块已拿完或没有方块了,停止动画");
  111. } // 这里控制 t 增加的速率
  112. t += interval;
  113. if (!animationStopped) {
  114. requestAnimationFrame(updatePosition);
  115. }
  116. };
  117. updatePosition();
  118. } else {
  119. for (var i = 0; i < this.Container.idioms.length * 2; i++) {
  120. var cube = this.Container.getCube();
  121. if (cube != null && cube.getComponent(_crd && Cube_Infor === void 0 ? (_reportPossibleCrUseOfCube_Infor({
  122. error: Error()
  123. }), Cube_Infor) : Cube_Infor).state === (_crd && Cube_State === void 0 ? (_reportPossibleCrUseOfCube_State({
  124. error: Error()
  125. }), Cube_State) : Cube_State).live) {
  126. var newNode = cube;
  127. newNode.parent = director.getScene(); // 随机左右偏移量,范围设定为 [-0.5, 0.5]
  128. var randomXOffset = Math.random() * 1 - 0.5; // 生成一个[-0.5, 0.5]之间的随机值
  129. newNode.setPosition(this.startPos[i].position.x, this.startPos[i].position.y, this.startPos[i].position.z);
  130. this.Container.nodeReferences.push(newNode);
  131. if (i > 1) {
  132. newNode.getComponent(_crd && Cube_Infor === void 0 ? (_reportPossibleCrUseOfCube_Infor({
  133. error: Error()
  134. }), Cube_Infor) : Cube_Infor).state = (_crd && Cube_State === void 0 ? (_reportPossibleCrUseOfCube_State({
  135. error: Error()
  136. }), Cube_State) : Cube_State).wait;
  137. }
  138. }
  139. }
  140. this.Container.canTouch = true;
  141. }
  142. }
  143. }, (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "startPos", [_dec2], {
  144. configurable: true,
  145. enumerable: true,
  146. writable: true,
  147. initializer: function initializer() {
  148. return [];
  149. }
  150. })), _class2)) || _class));
  151. _cclegacy._RF.pop();
  152. _crd = false;
  153. }
  154. };
  155. });
  156. //# sourceMappingURL=635d373e206601884c96847cb1eeeefae856f2ab.js.map