ViewportService.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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});
  18. const o = t("InputHandler"),
  19. a = t("MapRoadUtils"),
  20. n = t("Viewport"),
  21. r = t("MoveComponent"),
  22. l = t("BaseService"),
  23. h = t("MachineService"),
  24. c = t("MapService"),
  25. d = t("RoleService"),
  26. {ccclass: u, property: p} = cc._decorator;
  27. t = s = class extends l.default {
  28. constructor() {
  29. super(...arguments),
  30. (this.name = "ViewportService"),
  31. (this.cameraNodeName = "Main Camera"),
  32. (this.statesLayerChanged = !1),
  33. (this.entitiesLayer = null),
  34. (this._cityChildren = null),
  35. (this.viewport = null),
  36. (this.handler = null),
  37. (this.map = null);
  38. }
  39. onLoad() {
  40. s.ins = this;
  41. }
  42. update() {}
  43. lateUpdate() {
  44. this.viewport.syncView();
  45. }
  46. onDestroy() {}
  47. start() {
  48. this.viewport.setInputHandler(this.handler),
  49. this.initEvents(),
  50. this.handler.onTap((t, e) => {
  51. t = cc.v2(t, e);
  52. this.viewport.camera.getScreenToWorldPoint(t, t), this.map.convertToNodeSpaceAR(t, t);
  53. e = a.default.instance.getNodeByPixel(t.x, t.y);
  54. if (d.default.ins.testMan) {
  55. const i = c.default.ins.getPaths(d.default.ins.testMan.node.position, t);
  56. i && i.length && d.default.ins.testMan.getComponent(r.default).walkByRoad(i);
  57. }
  58. Log.trace(`\u5750\u6807:${e.dx}, ${e.dy}`), h.default.ins.lvUpBox.hideBox();
  59. });
  60. }
  61. initEvents() {}
  62. initViewportArea() {
  63. var {
  64. left: t,
  65. right: e,
  66. top: i,
  67. bottom: s
  68. } = {left: 100, right: this.map.width - 100, top: 100, bottom: this.map.height - 100},
  69. e = e - t,
  70. s = s - i;
  71. this.viewport.setOriginalSize(cc.visibleRect.width, cc.visibleRect.height),
  72. this.setViewportArea(t, i, e, s, 100),
  73. Log.trace("cc_winSize.width / this.map.width:", cc.winSize.width / e),
  74. this.viewport.scaleTo(cc.winSize.width / e),
  75. this.viewport.scrollCenterTo(e / 2, s / 2);
  76. }
  77. focusOn(t) {
  78. this.focusEntity = t;
  79. }
  80. setViewportArea(t, e, i, s, o = 0) {
  81. const a = {x: -i / 2, y: 0},
  82. n = {x: i / 2, y: 0},
  83. r = {x: i / 2, y: s},
  84. l = {x: -i / 2, y: s},
  85. h = this.viewport.limitLines;
  86. (h.RT = [a, n]), (h.RB = [n, r]), (h.LB = [r, l]), (h.LT = [l, a]), this.viewport.setArea(t, e, i, s);
  87. }
  88. };
  89. e([p(n.default)], t.prototype, "viewport", void 0),
  90. e([p(o.default)], t.prototype, "handler", void 0),
  91. e([p(cc.Node)], t.prototype, "map", void 0),
  92. (t = s = e([u], t)),
  93. (i.default = t = s);