2d88cd09787c5deb93ff6b3c4eb1c7adc8dd6555.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. System.register(["cc"], function (_export, _context) {
  2. "use strict";
  3. var _cclegacy, Timer, _crd;
  4. function get_new_timer(step) {
  5. return new Timer(step);
  6. }
  7. _export("default", get_new_timer);
  8. return {
  9. setters: [function (_cc) {
  10. _cclegacy = _cc.cclegacy;
  11. }],
  12. execute: function () {
  13. _crd = true;
  14. _cclegacy._RF.push({}, "890248SdzRIsa6dPHIO+Qxy", "Timer", undefined);
  15. Timer = class Timer {
  16. get elapsedTime() {
  17. return this._elapsedTime;
  18. }
  19. /** 触发间隔时间(秒) */
  20. get step() {
  21. return this._step;
  22. }
  23. set step(step) {
  24. this._step = step; // 每次修改时间
  25. this._elapsedTime = 0; // 逝去时间
  26. }
  27. get coundown() {
  28. return this._step - this._elapsedTime;
  29. }
  30. get progress() {
  31. return this._elapsedTime / this._step;
  32. }
  33. constructor(step) {
  34. if (step === void 0) {
  35. step = 0;
  36. }
  37. this._elapsedTime = 0;
  38. this._step = -1;
  39. this.step = step;
  40. }
  41. /**
  42. * 序列化(数据库存储)
  43. */
  44. serialize() {
  45. var data = {
  46. "step": this._step,
  47. "elapsed": this._elapsedTime
  48. };
  49. return data;
  50. }
  51. /**
  52. * 反序列化
  53. */
  54. unserialize(data) {
  55. if (!data) return;
  56. this._step = data.step;
  57. this._elapsedTime = data.elapsed;
  58. }
  59. update(dt) {
  60. if (this.step <= 0) return false;
  61. this._elapsedTime += dt;
  62. if (this._elapsedTime >= this._step) {
  63. this._elapsedTime -= this._step;
  64. return true;
  65. }
  66. return false;
  67. }
  68. reset() {
  69. this._elapsedTime = 0;
  70. }
  71. stop() {
  72. this._elapsedTime = 0;
  73. this.step = -1;
  74. }
  75. };
  76. _cclegacy._RF.pop();
  77. _crd = false;
  78. }
  79. };
  80. });
  81. //# sourceMappingURL=2d88cd09787c5deb93ff6b3c4eb1c7adc8dd6555.js.map