@galacean/engine-core 0.0.0-experimental-2.0-game.9 → 0.0.0-experimental-2.0-game.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -18314,14 +18314,16 @@ var ComponentCloner = /*#__PURE__*/ function() {
18314
18314
  }
18315
18315
  };
18316
18316
  _proto._getComponentsInChildren = function _getComponentsInChildren(type, results) {
18317
- for(var i = this._components.length - 1; i >= 0; i--){
18318
- var component = this._components[i];
18317
+ var components = this._components;
18318
+ for(var i = 0, n = components.length; i < n; i++){
18319
+ var component = components[i];
18319
18320
  if (_instanceof(component, type)) {
18320
18321
  results.push(component);
18321
18322
  }
18322
18323
  }
18323
- for(var i1 = this._children.length - 1; i1 >= 0; i1--){
18324
- this._children[i1]._getComponentsInChildren(type, results);
18324
+ var children = this._children;
18325
+ for(var i1 = 0, n1 = children.length; i1 < n1; i1++){
18326
+ children[i1]._getComponentsInChildren(type, results);
18325
18327
  }
18326
18328
  };
18327
18329
  _proto._setActiveInHierarchy = function _setActiveInHierarchy(activeChangeFlag) {
@@ -20457,6 +20459,7 @@ var rePropName = RegExp(// Match anything that isn't a dot or bracket.
20457
20459
  function Pointer(id) {
20458
20460
  /** The phase of pointer. */ this.phase = PointerPhase.Leave;
20459
20461
  /** The position of the pointer in screen space pixel coordinates. */ this.position = new engineMath.Vector2();
20462
+ /** The position of the pointer when it was last pressed down (in screen space pixel coordinates). */ this.pressedPosition = new engineMath.Vector2();
20460
20463
  /** The change of the pointer. */ this.deltaPosition = new engineMath.Vector2();
20461
20464
  /** @internal */ this._events = [];
20462
20465
  /** @internal */ this._upMap = [];
@@ -20505,12 +20508,16 @@ var PointerEventType = /*#__PURE__*/ function(PointerEventType) {
20505
20508
  */ var PointerEventData = /*#__PURE__*/ function() {
20506
20509
  function PointerEventData() {
20507
20510
  /** The position of the event trigger (in world space). */ this.worldPosition = new engineMath.Vector3();
20511
+ /** The hit-tested target entity (deepest entity on the bubble path). */ this.target = null;
20512
+ /** The entity currently handling the event (same as target on non-bubbling fire, varies on bubble). */ this.currentTarget = null;
20508
20513
  }
20509
20514
  var _proto = PointerEventData.prototype;
20510
20515
  /**
20511
20516
  * @internal
20512
20517
  */ _proto.dispose = function dispose() {
20513
20518
  this.pointer = null;
20519
+ this.target = null;
20520
+ this.currentTarget = null;
20514
20521
  };
20515
20522
  return PointerEventData;
20516
20523
  }();
@@ -23372,10 +23379,13 @@ var PointerEventEmitter = /*#__PURE__*/ function() {
23372
23379
  this._init();
23373
23380
  }
23374
23381
  var _proto = PointerEventEmitter.prototype;
23375
- _proto._createEventData = function _createEventData(pointer) {
23382
+ _proto._createEventData = function _createEventData(pointer, target, currentTarget) {
23383
+ if (currentTarget === void 0) currentTarget = target;
23376
23384
  var data = this._pool.get();
23377
23385
  data.pointer = pointer;
23378
23386
  data.worldPosition.copyFrom(this._hitResult.point);
23387
+ data.target = target;
23388
+ data.currentTarget = currentTarget;
23379
23389
  return data;
23380
23390
  };
23381
23391
  _proto._fireDown = function _fireDown(entity, eventData) {
@@ -23505,12 +23515,12 @@ PointerEventEmitter._tempRay = new engineMath.Ray();
23505
23515
  };
23506
23516
  _proto.processDrag = function processDrag(pointer) {
23507
23517
  var entity = this._draggedEntity;
23508
- entity && this._fireDrag(entity, this._createEventData(pointer));
23518
+ entity && this._fireDrag(entity, this._createEventData(pointer, entity, entity));
23509
23519
  };
23510
23520
  _proto.processDown = function processDown(pointer) {
23511
23521
  var entity = this._pressedEntity = this._draggedEntity = this._enteredEntity;
23512
23522
  if (entity) {
23513
- var eventData = this._createEventData(pointer);
23523
+ var eventData = this._createEventData(pointer, entity, entity);
23514
23524
  this._fireDown(entity, eventData);
23515
23525
  this._fireBeginDrag(entity, eventData);
23516
23526
  }
@@ -23519,26 +23529,26 @@ PointerEventEmitter._tempRay = new engineMath.Ray();
23519
23529
  var _this = this, enteredEntity = _this._enteredEntity, draggedEntity = _this._draggedEntity;
23520
23530
  if (enteredEntity) {
23521
23531
  var sameTarget = this._pressedEntity === enteredEntity;
23522
- var eventData = this._createEventData(pointer);
23532
+ var eventData = this._createEventData(pointer, enteredEntity, enteredEntity);
23523
23533
  this._fireUp(enteredEntity, eventData);
23524
23534
  sameTarget && this._fireClick(enteredEntity, eventData);
23525
23535
  this._fireDrop(enteredEntity, eventData);
23526
23536
  }
23527
23537
  this._pressedEntity = null;
23528
23538
  if (draggedEntity) {
23529
- this._fireEndDrag(draggedEntity, this._createEventData(pointer));
23539
+ this._fireEndDrag(draggedEntity, this._createEventData(pointer, draggedEntity, draggedEntity));
23530
23540
  this._draggedEntity = null;
23531
23541
  }
23532
23542
  };
23533
23543
  _proto.processLeave = function processLeave(pointer) {
23534
23544
  var enteredEntity = this._enteredEntity;
23535
23545
  if (enteredEntity) {
23536
- this._fireExit(enteredEntity, this._createEventData(pointer));
23546
+ this._fireExit(enteredEntity, this._createEventData(pointer, enteredEntity, enteredEntity));
23537
23547
  this._enteredEntity = null;
23538
23548
  }
23539
23549
  var draggedEntity = this._draggedEntity;
23540
23550
  if (draggedEntity) {
23541
- this._fireEndDrag(draggedEntity, this._createEventData(pointer));
23551
+ this._fireEndDrag(draggedEntity, this._createEventData(pointer, draggedEntity, draggedEntity));
23542
23552
  this._draggedEntity = null;
23543
23553
  }
23544
23554
  this._pressedEntity = null;
@@ -23553,10 +23563,10 @@ PointerEventEmitter._tempRay = new engineMath.Ray();
23553
23563
  var enteredEntity = this._enteredEntity;
23554
23564
  if (entity !== enteredEntity) {
23555
23565
  if (enteredEntity) {
23556
- this._fireExit(enteredEntity, this._createEventData(pointer));
23566
+ this._fireExit(enteredEntity, this._createEventData(pointer, enteredEntity, enteredEntity));
23557
23567
  }
23558
23568
  if (entity) {
23559
- this._fireEnter(entity, this._createEventData(pointer));
23569
+ this._fireEnter(entity, this._createEventData(pointer, entity, entity));
23560
23570
  }
23561
23571
  this._enteredEntity = entity;
23562
23572
  }
@@ -23751,6 +23761,7 @@ PointerEventEmitter._tempRay = new engineMath.Ray();
23751
23761
  pointer._downMap[button] = frameCount;
23752
23762
  pointer._frameEvents |= PointerEventType.Down;
23753
23763
  pointer.phase = PointerPhase.Down;
23764
+ pointer.pressedPosition.copyFrom(pointer.position);
23754
23765
  break;
23755
23766
  }
23756
23767
  case "pointerup":