OrderService.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. var t = require;
  2. var e = module;
  3. var i = exports;
  4. var s,
  5. e =
  6. (this && this.__decorate) ||
  7. function (t, e, i, s) {
  8. var o,
  9. a = arguments.length,
  10. n = a < 3 ? e : null === s ? (s = Object.getOwnPropertyDescriptor(e, i)) : s;
  11. if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) n = Reflect.decorate(t, e, i, s);
  12. else
  13. for (var r = t.length - 1; 0 <= r; r--)
  14. (o = t[r]) && (n = (a < 3 ? o(n) : 3 < a ? o(e, i, n) : o(e, i)) || n);
  15. return 3 < a && n && Object.defineProperty(e, i, n), n;
  16. };
  17. Object.defineProperty(i, "__esModule", {value: !0}), (i.WaitOrderData = i.OrderDataList = void 0);
  18. const a = t("App"),
  19. o = t("NodePool"),
  20. n = t("OrderData"),
  21. r = t("GameConst"),
  22. l = t("GlobalAttr"),
  23. h = t("BaseService"),
  24. c = t("MachineService"),
  25. d = t("MapService"),
  26. {ccclass: u} = cc._decorator;
  27. (s = class extends h.default {
  28. constructor() {
  29. super(...arguments),
  30. (this.orders = null),
  31. (this.waitOrderList = null),
  32. (this.orderPool = null),
  33. (this.globalAttr = null);
  34. }
  35. onLoad() {
  36. s.ins = this;
  37. }
  38. init() {
  39. (this.globalAttr = l.default.ins),
  40. (this.waitOrderList = []),
  41. (this.orders = {[r.MachineType.type1]: new p(), [r.MachineType.type2]: new p()}),
  42. (this.orderPool = new o.default()),
  43. (this.orderPool.prefab = d.default.ins.foodBundle.get("Order", cc.Prefab)),
  44. a.default.NotificationCenter.addListener(r.GameNotificationConst.UNLOCK_SLOT, this.onUnlockSlot, this);
  45. }
  46. onUnlockSlot(t) {
  47. this.orders[t.machineData.cfg.machine_type].checkHasEmp();
  48. }
  49. createOrders(t) {
  50. const e = c.default.ins.unlockMachines;
  51. if (e.length) {
  52. var i = a.default.RandomUtils.shuffle(e.concat()).slice(0, t),
  53. s = i.length;
  54. const o = [];
  55. for (let t = 0; t < s; t++) {
  56. const e = new n.default();
  57. (e.machine = i[t]),
  58. (o[t] = e),
  59. (e.cnt = a.default.RandomUtils.limitInteger(1, e.machine.attr.slotCnt)),
  60. this.orders[e.machine.cfg.machine_type].addOrder(e);
  61. }
  62. return o;
  63. }
  64. return [this.createOrder()];
  65. }
  66. createOrder() {
  67. const t = new n.default();
  68. return (
  69. c.default.ins.unlockMachines.length
  70. ? ((t.machine = a.default.RandomUtils.randomArray(c.default.ins.unlockMachines)),
  71. (t.cnt = a.default.RandomUtils.limitInteger(1, t.machine.attr.slotCnt)))
  72. : ((t.machine = c.default.ins.machineDatas[0]), (t.cnt = 1)),
  73. this.orders[t.machine.cfg.machine_type].addOrder(t),
  74. t
  75. );
  76. }
  77. finshOrder(t) {
  78. const e = this.orders[t.machine.cfg.machine_type];
  79. t.finishOrder(), t.cnt <= 0 && e.orders.remove(t);
  80. }
  81. }),
  82. (s = e([u], s));
  83. i.default = s;
  84. class p {
  85. constructor() {
  86. (this.hasEmp = !1), (this.orders = []);
  87. }
  88. addOrder(t) {
  89. this.orders.push(t), !this.hasEmp && t.canCook() && (this.hasEmp = !0);
  90. }
  91. cookOrder() {
  92. for (const e of this.orders)
  93. if (e.canCook()) {
  94. e.cookingCnt++;
  95. var t = e.startCook();
  96. return this.checkHasEmp(), t;
  97. }
  98. return null;
  99. }
  100. checkHasEmp() {
  101. for (const t of this.orders) if (t.canCook()) return (this.hasEmp = !0), !0;
  102. return (this.hasEmp = !1);
  103. }
  104. }
  105. (i.OrderDataList = p),
  106. (i.WaitOrderData = class {
  107. constructor() {
  108. (this.cb = null), (this.target = null);
  109. }
  110. });