File size: 3,045 Bytes
8086c81
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
(window["webpackJsonpGUI"] = window["webpackJsonpGUI"] || []).push([["addon-entry-disable-stage-drag-select"],{

/***/ "./src/addons/addons/disable-stage-drag-select/_runtime_entry.js":
/*!***********************************************************************!*\
  !*** ./src/addons/addons/disable-stage-drag-select/_runtime_entry.js ***!
  \***********************************************************************/
/*! exports provided: resources */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "resources", function() { return resources; });
/* harmony import */ var _userscript_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./userscript.js */ "./src/addons/addons/disable-stage-drag-select/userscript.js");
/* generated by pull.js */

const resources = {
  "userscript.js": _userscript_js__WEBPACK_IMPORTED_MODULE_0__["default"]
};

/***/ }),

/***/ "./src/addons/addons/disable-stage-drag-select/userscript.js":
/*!*******************************************************************!*\
  !*** ./src/addons/addons/disable-stage-drag-select/userscript.js ***!
  \*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony default export */ __webpack_exports__["default"] = (async _ref => {
  let {
    addon,
    console
  } = _ref;
  const vm = addon.tab.traps.vm;
  let shiftKeyPressed = false;
  document.addEventListener("mousedown", function (e) {
    shiftKeyPressed = e.shiftKey;
  }, {
    capture: true
  });

  // Do not focus sprite after dragging it
  const oldStopDrag = vm.stopDrag;
  vm.stopDrag = function () {
    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }
    if (shiftKeyPressed || addon.self.disabled) return oldStopDrag.call(this, ...args);
    const setEditingTarget = this.setEditingTarget;
    this.setEditingTarget = () => {};
    const r = oldStopDrag.call(this, ...args);
    this.setEditingTarget = setEditingTarget;
    return r;
  };

  // Don't let the editor drag sprites that aren't marked as draggable
  const oldGetTargetIdForDrawableId = vm.getTargetIdForDrawableId;
  vm.getTargetIdForDrawableId = function () {
    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
      args[_key2] = arguments[_key2];
    }
    const targetId = oldGetTargetIdForDrawableId.call(this, ...args);
    if (shiftKeyPressed || addon.self.disabled) return targetId;
    if (targetId !== null) {
      const target = this.runtime.getTargetById(targetId);
      if (target && !target.draggable) {
        return null;
      }
    }
    return targetId;
  };
});

/***/ })

}]);
//# sourceMappingURL=addon-entry-disable-stage-drag-select.js.map