@@ -53947,7 +53947,7 @@ module.exports.Component = registerComponent('camera', {
5394753947});
5394853948
5394953949},{"../core/component":114,"../lib/three":162}],55:[function(require,module,exports){
53950- /* global THREE */
53950+ /* global THREE, MouseEvent, TouchEvent */
5395153951var registerComponent = require('../core/component').registerComponent;
5395253952var utils = require('../utils/');
5395353953
@@ -54250,7 +54250,7 @@ module.exports.Component = registerComponent('cursor', {
5425054250 }
5425154251 }
5425254252
54253- this.twoWayEmit(EVENTS.MOUSEDOWN);
54253+ this.twoWayEmit(EVENTS.MOUSEDOWN, evt );
5425454254 this.cursorDownEl = this.intersectedEl;
5425554255 },
5425654256
@@ -54267,7 +54267,7 @@ module.exports.Component = registerComponent('cursor', {
5426754267 this.isCursorDown = false;
5426854268
5426954269 var data = this.data;
54270- this.twoWayEmit(EVENTS.MOUSEUP);
54270+ this.twoWayEmit(EVENTS.MOUSEUP, evt );
5427154271
5427254272 if (this.reenableARHitTest === true) {
5427354273 this.el.sceneEl.setAttribute('ar-hit-test', 'enabled', true);
@@ -54283,7 +54283,7 @@ module.exports.Component = registerComponent('cursor', {
5428354283
5428454284 if ((!data.fuse || data.rayOrigin === 'mouse' || data.rayOrigin === 'xrselect') &&
5428554285 this.intersectedEl && this.cursorDownEl === this.intersectedEl) {
54286- this.twoWayEmit(EVENTS.CLICK);
54286+ this.twoWayEmit(EVENTS.CLICK, evt );
5428754287 }
5428854288
5428954289 // if the current xr input stops selecting then make the ray caster point somewhere else
@@ -54424,19 +54424,29 @@ module.exports.Component = registerComponent('cursor', {
5442454424 /**
5442554425 * Helper to emit on both the cursor and the intersected entity (if exists).
5442654426 */
54427- twoWayEmit: function (evtName) {
54427+ twoWayEmit: function (evtName, originalEvent ) {
5442854428 var el = this.el;
5442954429 var intersectedEl = this.intersectedEl;
5443054430 var intersection;
5443154431
54432+ function addOriginalEvent (detail, evt) {
54433+ if (originalEvent instanceof MouseEvent) {
54434+ detail.mouseEvent = originalEvent;
54435+ } else if (originalEvent instanceof TouchEvent) {
54436+ detail.touchEvent = originalEvent;
54437+ }
54438+ }
54439+
5443254440 intersection = this.el.components.raycaster.getIntersection(intersectedEl);
5443354441 this.eventDetail.intersectedEl = intersectedEl;
5443454442 this.eventDetail.intersection = intersection;
54443+ addOriginalEvent(this.eventDetail, originalEvent);
5443554444 el.emit(evtName, this.eventDetail);
5443654445
5443754446 if (!intersectedEl) { return; }
5443854447
5443954448 this.intersectedEventDetail.intersection = intersection;
54449+ addOriginalEvent(this.intersectedEventDetail, originalEvent);
5444054450 intersectedEl.emit(evtName, this.intersectedEventDetail);
5444154451 }
5444254452});
@@ -70167,7 +70177,7 @@ require('./core/a-mixin');
7016770177require('./extras/components/');
7016870178require('./extras/primitives/');
7016970179
70170- console.log('A-Frame Version: 1.3.0 (Date 2022-08-17, Commit #bacaabd3 )');
70180+ console.log('A-Frame Version: 1.3.0 (Date 2022-08-17, Commit #0fe1f286 )');
7017170181console.log('THREE Version (https://github.com/supermedium/three.js):',
7017270182 pkg.dependencies['super-three']);
7017370183console.log('WebVR Polyfill Version:', pkg.dependencies['webvr-polyfill']);
0 commit comments