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