From f734af6cc2f0e52bf4011dc36acf6bb7c78f2c34 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sat, 5 May 2018 10:31:41 +0200 Subject: [PATCH] found variable BUG fixed --- .vs/AAWeb/v15/.suo | Bin 72704 -> 68608 bytes FloatingSpace/BubbleSets.js | 156 +++++++++++++++++++++++---------- FloatingSpace/FloatingLayer.js | 39 +++++++++ 3 files changed, 151 insertions(+), 44 deletions(-) diff --git a/.vs/AAWeb/v15/.suo b/.vs/AAWeb/v15/.suo index a4d0992387c7c427af3cc901ec96bec99a668229..218327e8c33b6795219e2faa168fafd20a9df4ea 100644 GIT binary patch delta 3163 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 rYkj%m_Ygj7+Ud#`p Entering function."); } + let bubbleSet = { imageId: pPayload.profile.imageId, floatingBubbles: [], @@ -52,32 +54,110 @@ function newBubbleSets() { function onBubblesChanged(pNewBubbles, pBubbleSetIndex) { + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Entering function."); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> pNewBubbles.length = " + pNewBubbles.length); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> pBubbleSetIndex = " + pBubbleSetIndex); } + let bubbleSet = bubbleSets[pBubbleSetIndex]; let found = false; + let newFloatingBubbles; - /* First we add the new bubbles. */ + /* First we remove the old bubbles. */ - let newFloatingBubbles = []; // We will create a new array of Floating Bubbles as a result of this operation. + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Remove old Bubbles."); } - for (let i = 0; i < pNewBubbles.length; i++) { + newFloatingBubbles = []; // We will create a new array of Floating Bubbles as a result of this operation. - let plotterBubble = pNewBubbles[i]; - let plotterBubbleKey = plotterBubble.date.toString() + plotterBubble.rate.toString(); - let found = false; + for (let j = 0; j < bubbleSet.floatingBubbles.length; j++) { - for (let j = 0; j < bubbleSet.floatingBubbles.length; j++) { + found = false; - let floatingBubble = bubbleSet.floatingBubbles[j]; - let floatingBubbleKey = floatingBubble.date.toString() + floatingBubble.rate.toString(); + let floatingBubble = bubbleSet.floatingBubbles[j]; + let floatingBubbleKey = floatingBubble.date.toString() + floatingBubble.rate.toString(); + + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Remove old Bubbles -> j = " + j); } + + for (let i = 0; i < pNewBubbles.length; i++) { + + let plotterBubble = pNewBubbles[i]; + let plotterBubbleKey = plotterBubble.date.toString() + plotterBubble.rate.toString(); + + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Remove old Bubbles -> i = " + i); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Remove old Bubbles -> floatingBubbleKey = " + floatingBubbleKey); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Remove old Bubbles -> plotterBubbleKey = " + plotterBubbleKey); } if (plotterBubbleKey === floatingBubbleKey) { found = true; - break; + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> found = " + found); } + break; } } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Remove old Bubbles -> End of For i."); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Remove old Bubbles -> found = " + found); } + + if (found === false) { + + floatingLayer.removeFloatingObject(floatingBubble.floatingHandle); + + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Remove old Bubbles -> floatingBubble.floatingHandle = " + floatingBubble.floatingHandle); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Remove old Bubbles -> Removed from Layer."); } + + } else { + + newFloatingBubbles.push(floatingBubble); + + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Remove old Bubbles -> floatingBubble.floatingHandle = " + floatingBubble.floatingHandle); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Remove old Bubbles -> Added to newFloatingBubbles."); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Remove old Bubbles -> newFloatingBubbles.length = " + newFloatingBubbles.length); } + + } + } + + bubbleSet.floatingBubbles = newFloatingBubbles; + + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Remove old Bubbles -> bubbleSet.floatingBubbles.length = " + bubbleSet.floatingBubbles.length); } + + /* Second we add the new bubbles. */ + + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles."); } + + newFloatingBubbles = []; // We will create a new array of Floating Bubbles as a result of this operation. + + for (let i = 0; i < pNewBubbles.length; i++) { + + found = false; + + let plotterBubble = pNewBubbles[i]; + let plotterBubbleKey = plotterBubble.date.toString() + plotterBubble.rate.toString(); + let floatingBubble; + let floatingBubbleKey; + + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> i = " + i); } + + for (let j = 0; j < bubbleSet.floatingBubbles.length; j++) { + + floatingBubble = bubbleSet.floatingBubbles[j]; + floatingBubbleKey = floatingBubble.date.toString() + floatingBubble.rate.toString(); + + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> j = " + j); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> floatingBubbleKey = " + floatingBubbleKey); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> plotterBubbleKey = " + plotterBubbleKey); } + + if (plotterBubbleKey === floatingBubbleKey) { + + found = true; + + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> found = " + found); } + break; + } + } + + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> End of For j."); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> found = " + found); } + if (found === false) { let floatingObject = newFloatingObject(); @@ -85,7 +165,9 @@ function newBubbleSets() { function onInitialized(err) { - floatingObject.payload = bubbleSet.payload; + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> onInitialized -> Entering function."); } + + floatingObject.payload = bubbleSet.payload; floatingObject.payloadBubbleIndex = i; floatingObject.payload.profile.imageId = bubbleSet.imageId; @@ -109,57 +191,43 @@ function newBubbleSets() { floatingObject.labelStrokeStyle = 'rgba(60, 60, 60, 0.50)'; floatingLayer.addFloatingObject(floatingObject); + + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> onInitialized -> New Bubble added to Layer."); } + plotterBubble.floatingHandle = floatingObject.handle; - } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> plotterBubble.floatingHandle = " + plotterBubble.floatingHandle); } - } + newFloatingBubbles.push(plotterBubble); - newFloatingBubbles.push(plotterBubble); - - } - - bubbleSet.floatingBubbles = newFloatingBubbles; - - /* Second we remove the old bubbles. */ - - newFloatingBubbles = []; // We will create a new array of Floating Bubbles as a result of this operation. - found = false; - - for (let j = 0; j < bubbleSet.floatingBubbles.length; j++) { - - let floatingBubble = bubbleSet.floatingBubbles[j]; - let floatingBubbleKey = floatingBubble.date.toString() + floatingBubble.rate.toString(); - - for (let i = 0; i < pNewBubbles.length; i++) { - - let plotterBubble = pNewBubbles[i]; - let plotterBubbleKey = plotterBubble.date.toString() + plotterBubble.rate.toString(); - - if (plotterBubbleKey === floatingBubbleKey) { - - found = true; - break; + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> onInitialized -> Added to newFloatingBubbles."); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> onInitialized -> newFloatingBubbles.length = " + newFloatingBubbles.length); } } - } - - if (found === false) { - - floatingLayer.removeFloatingObject(floatingBubble.floatingHandle); } else { newFloatingBubbles.push(floatingBubble); + + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> onInitialized -> Old Bubble Kept."); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> onInitialized -> floatingBubble.floatingHandle = " + floatingBubble.floatingHandle); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> onInitialized -> Added to newFloatingBubbles."); } + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> onInitialized -> newFloatingBubbles.length = " + newFloatingBubbles.length); } + } } bubbleSet.floatingBubbles = newFloatingBubbles; + + if (INFO_LOG === true) { logger.write("[INFO] createBubbleSet -> onBubblesChanged -> Add new Bubbles -> bubbleSet.floatingBubbles.length = " + bubbleSet.floatingBubbles.length); } + } } function destroyBubbleSet(pHandle) { + if (INFO_LOG === true) { logger.write("[INFO] destroyBubbleSet -> Entering function."); } + for (let i = 0; i < bubbleSets.length; i++) { let bubbleSet = bubbleSets[i]; diff --git a/FloatingSpace/FloatingLayer.js b/FloatingSpace/FloatingLayer.js index 38a7dc0d5..507a90e9e 100644 --- a/FloatingSpace/FloatingLayer.js +++ b/FloatingSpace/FloatingLayer.js @@ -1,6 +1,12 @@  function newFloatingLayer() { + const MODULE_NAME = "Floating Layer"; + const INFO_LOG = true; + const ERROR_LOG = true; + const logger = newDebugLog(); + logger.fileName = MODULE_NAME; + let thisObject = { floatingObjects: undefined, // This is the array of floatingObjects being displayed addFloatingObject: addFloatingObject, @@ -17,6 +23,8 @@ function newFloatingLayer() { function initialize(callBackFunction) { + if (INFO_LOG === true) { logger.write("[INFO] initialize -> Entering function."); } + thisObject.floatingObjects = []; // We initialize this in order to start the calculations in a clean way. callBackFunction(); @@ -24,20 +32,34 @@ function newFloatingLayer() { function addFloatingObject(pFloatingObject) { + if (INFO_LOG === true) { logger.write("[INFO] addFloatingObject -> Entering function."); } + innactiveFloatingObjects.push(pFloatingObject); + if (INFO_LOG === true) { logger.write("[INFO] addFloatingObject -> innactiveFloatingObjects.length = " + innactiveFloatingObjects.length); } + pFloatingObject.handle = Math.floor((Math.random() * 10000000) + 1); + if (INFO_LOG === true) { logger.write("[INFO] addFloatingObject -> pFloatingObject.handle = " + pFloatingObject.handle); } + if (INFO_LOG === true) { logger.write("[INFO] addFloatingObject -> pFloatingObject.type = " + pFloatingObject.type); } + } function removeFloatingObject(pFloatingObjectHandle) { + if (INFO_LOG === true) { logger.write("[INFO] removeFloatingObject -> Entering function."); } + for (let i = 0; i < innactiveFloatingObjects.length; i++) { let floatingObject = innactiveFloatingObjects[i]; if (floatingObject.handle === pFloatingObjectHandle) { innactiveFloatingObjects.splice(i, 1); // Delete item from array. + + if (INFO_LOG === true) { logger.write("[INFO] removeFloatingObject -> floatingObject.handle = " + floatingObject.handle); } + if (INFO_LOG === true) { logger.write("[INFO] removeFloatingObject -> Removing floatingObject from innactiveFloatingObjects."); } + if (INFO_LOG === true) { logger.write("[INFO] removeFloatingObject -> innactiveFloatingObjects.length = " + innactiveFloatingObjects.length); } + return; } } @@ -48,6 +70,11 @@ function newFloatingLayer() { if (floatingObject.handle === pFloatingObjectHandle) { thisObject.floatingObjects.splice(i, 1); // Delete item from array. + + if (INFO_LOG === true) { logger.write("[INFO] removeFloatingObject -> floatingObject.handle = " + floatingObject.handle); } + if (INFO_LOG === true) { logger.write("[INFO] removeFloatingObject -> Removing floatingObject from thisObject.floatingObjects."); } + if (INFO_LOG === true) { logger.write("[INFO] removeFloatingObject -> thisObject.floatingObjects.length = " + thisObject.floatingObjects.length); } + return; } } @@ -222,13 +249,25 @@ function newFloatingLayer() { if (payload.visible === true) { + if (INFO_LOG === true) { logger.write("[INFO] physicsLoop -> payload.visible = " + payload.visible); } + /* The first time that the floatingObject becomes visible, we need to do this. */ floatingObject.radomizeCurrentPosition(payload.position); floatingObject.radomizeCurrentSpeed(); thisObject.floatingObjects.push(floatingObject); + + if (INFO_LOG === true) { logger.write("[INFO] physicsLoop -> floatingObject.handle = " + floatingObject.handle); } + if (INFO_LOG === true) { logger.write("[INFO] physicsLoop -> floatingObject added to thisObject.floatingObjects"); } + if (INFO_LOG === true) { logger.write("[INFO] physicsLoop -> thisObject.floatingObjects.length = " + thisObject.floatingObjects.length); } + innactiveFloatingObjects.splice(i, 1); // Delete item from array. + + if (INFO_LOG === true) { logger.write("[INFO] physicsLoop -> floatingObject.handle = " + floatingObject.handle); } + if (INFO_LOG === true) { logger.write("[INFO] physicsLoop -> floatingObject removed from innactiveFloatingObjects"); } + if (INFO_LOG === true) { logger.write("[INFO] physicsLoop -> innactiveFloatingObjects.length = " + innactiveFloatingObjects.length); } + return; // Only one at the time. }