|
@@ -26940,7 +26940,7 @@ var BABYLON;
|
|
|
this._pickedDownMesh !== this._pickedUpMesh) {
|
|
|
this._pickedDownMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPickOutTrigger, BABYLON.ActionEvent.CreateNew(this._pickedDownMesh, evt));
|
|
|
}
|
|
|
- var type = BABYLON.PointerEventTypes.POINTERUP;
|
|
|
+ var type = 0;
|
|
|
if (this.onPointerObservable.hasObservers()) {
|
|
|
if (!clickInfo.ignore && !clickInfo.hasSwiped) {
|
|
|
if (clickInfo.singleClick && this.onPointerObservable.hasSpecificMask(BABYLON.PointerEventTypes.POINTERTAP)) {
|
|
@@ -26949,10 +26949,18 @@ var BABYLON;
|
|
|
else if (clickInfo.doubleClick && this.onPointerObservable.hasSpecificMask(BABYLON.PointerEventTypes.POINTERDOUBLETAP)) {
|
|
|
type = BABYLON.PointerEventTypes.POINTERDOUBLETAP;
|
|
|
}
|
|
|
+ if (type) {
|
|
|
+ var pi = new BABYLON.PointerInfo(type, evt, pickResult);
|
|
|
+ this._setRayOnPointerInfo(pi);
|
|
|
+ this.onPointerObservable.notifyObservers(pi, type);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!clickInfo.ignore) {
|
|
|
+ type = BABYLON.PointerEventTypes.POINTERUP;
|
|
|
+ var pi = new BABYLON.PointerInfo(type, evt, pickResult);
|
|
|
+ this._setRayOnPointerInfo(pi);
|
|
|
+ this.onPointerObservable.notifyObservers(pi, type);
|
|
|
}
|
|
|
- var pi = new BABYLON.PointerInfo(type, evt, pickResult);
|
|
|
- this._setRayOnPointerInfo(pi);
|
|
|
- this.onPointerObservable.notifyObservers(pi, type);
|
|
|
}
|
|
|
if (this.onPointerUp && !clickInfo.ignore) {
|
|
|
this.onPointerUp(evt, pickResult, type);
|
|
@@ -27106,8 +27114,9 @@ var BABYLON;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- clickInfo.ignore = needToIgnoreNext;
|
|
|
- cb(clickInfo, _this._currentPickResult);
|
|
|
+ if (!needToIgnoreNext) {
|
|
|
+ cb(clickInfo, _this._currentPickResult);
|
|
|
+ }
|
|
|
};
|
|
|
this._onPointerMove = function (evt) {
|
|
|
_this._updatePointerPosition(evt);
|
|
@@ -112045,7 +112054,7 @@ var BABYLON;
|
|
|
if (!material) {
|
|
|
return false;
|
|
|
}
|
|
|
- if (!material.isReady(subMesh.getMesh(), useInstances)) {
|
|
|
+ if (!material.isReadyForSubMesh(subMesh.getMesh(), subMesh, useInstances)) {
|
|
|
return false;
|
|
|
}
|
|
|
var defines = [];
|