From dc57ec93da52fccfe50be2b40fd08ccc5f837653 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 6 Jun 2019 13:50:14 +0200 Subject: [PATCH] Protection agains null coordinates --- FloatingSpace/StrategyPartConstructor.js | 8 ++++++++ .../Workspace/FunctionLibraries/PartsFromNodes.js | 8 ++++++++ StrategySpace/Workspace/Workspace.js | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/FloatingSpace/StrategyPartConstructor.js b/FloatingSpace/StrategyPartConstructor.js index 27b45a9fd..09a982ee5 100644 --- a/FloatingSpace/StrategyPartConstructor.js +++ b/FloatingSpace/StrategyPartConstructor.js @@ -13,6 +13,10 @@ function newStrategyPartConstructor () { } let floatingLayer + let spawnPosition = { + x: canvas.floatingSpace.container.frame.width / 2, + y: canvas.floatingSpace.container.frame.height / 2 + } return thisObject @@ -39,6 +43,10 @@ function newStrategyPartConstructor () { x: payload.node.savedPayload.position.x, y: payload.node.savedPayload.position.y } + + if (position.x === null) { position.x = spawnPosition.x } + if (position.y === null) { position.y = spawnPosition.y } + floatingObject.setPosition(position) payload.node.savedPayload.position = undefined if (payload.node.savedPayload.floatingObject.isPinned === true) { diff --git a/StrategySpace/Workspace/FunctionLibraries/PartsFromNodes.js b/StrategySpace/Workspace/FunctionLibraries/PartsFromNodes.js index 3fee5d8d2..9550324e9 100644 --- a/StrategySpace/Workspace/FunctionLibraries/PartsFromNodes.js +++ b/StrategySpace/Workspace/FunctionLibraries/PartsFromNodes.js @@ -17,6 +17,11 @@ function newPartsFromNodes () { addCode: addCode } + let spawnPosition = { + x: canvas.floatingSpace.container.frame.width / 2, + y: canvas.floatingSpace.container.frame.height / 2 + } + return thisObject function createPartFromNode (node, parentNode, chainParent) { @@ -539,6 +544,9 @@ function newPartsFromNodes () { y: node.savedPayload.targetPosition.y } node.savedPayload.targetPosition = undefined + + if (payload.targetPosition.x === null) { payload.targetPosition.x = spawnPosition.x } + if (payload.targetPosition.y === null) { payload.targetPosition.y = spawnPosition.y } } else { if (chainParent === undefined) { payload.targetPosition = { diff --git a/StrategySpace/Workspace/Workspace.js b/StrategySpace/Workspace/Workspace.js index 3107151f9..f41dbdf4d 100644 --- a/StrategySpace/Workspace/Workspace.js +++ b/StrategySpace/Workspace/Workspace.js @@ -29,7 +29,7 @@ function newWorkspace () { thisObject.container.frame.width = 0 thisObject.container.frame.height = 0 - spawnPosition = { + let spawnPosition = { x: canvas.floatingSpace.container.frame.width / 2, y: canvas.floatingSpace.container.frame.height / 2 }