David Catuhe 6 lat temu
rodzic
commit
7c6755cb2c

+ 1 - 1
gui/src/2D/advancedDynamicTexture.ts

@@ -760,7 +760,7 @@ export class AdvancedDynamicTexture extends DynamicTexture {
                 }
             } else if (pi.type === PointerEventTypes.POINTERMOVE) {
                 if (this._lastControlOver[pointerId]) {
-                    this._lastControlOver[pointerId]._onPointerOut(this._lastControlOver[pointerId]);
+                    this._lastControlOver[pointerId]._onPointerOut(this._lastControlOver[pointerId], true);
                 }
                 delete this._lastControlOver[pointerId];
             }

+ 2 - 2
gui/src/2D/controls/button.ts

@@ -111,12 +111,12 @@ export class Button extends Rectangle {
     }
 
     /** @hidden */
-    public _onPointerOut(target: Control): void {
+    public _onPointerOut(target: Control, force = false): void {
         if (this.pointerOutAnimation) {
             this.pointerOutAnimation();
         }
 
-        super._onPointerOut(target);
+        super._onPointerOut(target, force);
     }
 
     /** @hidden */

+ 5 - 3
gui/src/2D/controls/control.ts

@@ -1609,8 +1609,8 @@ export class Control {
     }
 
     /** @hidden */
-    public _onPointerOut(target: Control): void {
-        if (!this._isEnabled || target === this) {
+    public _onPointerOut(target: Control, force = false): void {
+        if (!force && (!this._isEnabled || target === this)) {
             return;
         }
         this._enterCount = 0;
@@ -1621,7 +1621,9 @@ export class Control {
             canNotify = this.onPointerOutObservable.notifyObservers(this, -1, target, this);
         }
 
-        if (canNotify && this.parent != null) { this.parent._onPointerOut(target); }
+        if (canNotify && this.parent != null) {
+            this.parent._onPointerOut(target, force);
+        }
     }
 
     /** @hidden */