PIXI Controls: Replace safeArea coordinate math to clamp

This commit is contained in:
OleSTEEP 2024-02-18 14:13:39 +03:00
parent 5c7e12c6d0
commit 11de5727a1

View file

@ -278,17 +278,14 @@ ONSControls.updateButtons = function() {
console.log("ONSControls: Controls updated"); console.log("ONSControls: Controls updated");
} }
//============================================================================= //=============================================================================
// * Check if element in safe area // * Clamp to safe area
//============================================================================= //=============================================================================
ONSControls.isSafeArea = function(element, position) { ONSControls.clampSafeArea = function(position, element) {
if (position.x - element.width/2 <= ConfigManager.ONSConfig.safeArea || let safeAreaX = ConfigManager.ONSConfig.safeArea + element.width / 2;
position.x + element.width/2 >= this._controlsCanvas.screen.width - ConfigManager.ONSConfig.safeArea || let safeAreaY = ConfigManager.ONSConfig.safeArea + element.height / 2;
position.y - element.width/2 <= ConfigManager.ONSConfig.safeArea || position.x = position.x.clamp(safeAreaX, this._controlsCanvas.screen.width - safeAreaX);
position.y + element.width/2 >= this._controlsCanvas.screen.height - ConfigManager.ONSConfig.safeArea) { position.y = position.y.clamp(safeAreaY, this._controlsCanvas.screen.height - safeAreaY);
return false; return position;
} else {
return true;
}
} }
//============================================================================= //=============================================================================
// * Setup controls touch events // * Setup controls touch events
@ -382,10 +379,8 @@ ONSControls.setupDragNDrop = function(element) {
} }
var onMove = function(event) { var onMove = function(event) {
if (element) { if (element) {
if (ONSControls.isSafeArea(element, event.data.global)) { element.parent.toLocal(ONSControls.clampSafeArea(event.data.global, element), null, element.position);
element.parent.toLocal(event.data.global, null, element.position); ConfigManager.ONSConfig.customPos = true;
ConfigManager.ONSConfig.customPos = true;
}
}; };
} }
var onEnd = function(event) { var onEnd = function(event) {