UNPKG

@turbox3d/event-manager

Version:

Large-scale productivity application event management library

59 lines (58 loc) 1.85 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.SceneEvent = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _type = require("./type"); var SceneEvent = exports.SceneEvent = /*#__PURE__*/function () { function SceneEvent(event, getCoordinateCtrl, hitTargetOriginalByPoint, extra) { (0, _classCallCheck2["default"])(this, SceneEvent); this.event = event; this.getCoordinateCtrl = getCoordinateCtrl; this.hitTargetOriginalByPoint = hitTargetOriginalByPoint; this.extra = extra; } /** * 屏幕坐标 */ return (0, _createClass2["default"])(SceneEvent, [{ key: "screenPosition", get: function get() { var extra = this.extra; if (extra && extra.mouseDownInfo) { return { x: extra.mouseDownInfo.x, y: extra.mouseDownInfo.y }; } return { x: this.event.clientX, y: this.event.clientY }; } /** * 画布坐标 */ }, { key: "canvasPosition", get: function get() { return this.getCoordinateCtrl().transform(this.screenPosition, _type.CoordinateType.ScreenToCanvas); } /** * 场景世界坐标 */ }, { key: "getScenePosition", value: function getScenePosition(z) { return this.getCoordinateCtrl().transform(this.screenPosition, _type.CoordinateType.ScreenToScene, z); } }], [{ key: "create", value: function create(event, getCoordinateCtrl, hitTargetOriginalByPoint, extra) { return new SceneEvent(event, getCoordinateCtrl, hitTargetOriginalByPoint, extra); } }]); }();