diff --git a/FloatingSpace/CircularMenu.js b/FloatingSpace/CircularMenu.js index a54d3729b..9b46af711 100644 --- a/FloatingSpace/CircularMenu.js +++ b/FloatingSpace/CircularMenu.js @@ -22,10 +22,12 @@ function newCircularMenu () { let menuItemsInitialValues = [] let menuItems = [] + let payload return thisObject - function initialize (menuItemsInitialValues) { + function initialize (menuItemsInitialValues, pPayload) { + payload = pPayload /* Create the array of Menu Items */ for (let i = 0; i < menuItemsInitialValues.length; i++) { @@ -41,7 +43,7 @@ function newCircularMenu () { menuItem.currentRadius = menuItemInitialValue.currentRadius menuItem.angle = menuItemInitialValue.angle - menuItem.initialize() + menuItem.initialize(payload) menuItem.container.connectToParent(thisObject.container, false, false, true, true, false, false, true, true) menuItems.push(menuItem) } diff --git a/FloatingSpace/CircularMenuItem.js b/FloatingSpace/CircularMenuItem.js index f0e7899f5..cf0df353e 100644 --- a/FloatingSpace/CircularMenuItem.js +++ b/FloatingSpace/CircularMenuItem.js @@ -34,10 +34,12 @@ function newCircularMenuItem () { thisObject.container.frame.height = 30 let isMouseOver = false + let payload return thisObject - function initialize () { + function initialize (pPayload) { + payload = pPayload /* Load Menu Images */ thisObject.iconOn = new Image() @@ -97,7 +99,7 @@ function newCircularMenuItem () { } function onMouseClick (event) { - console.log('Menu item clicked') + payload.onMenuItemClick(payload) } function drawBackground () { diff --git a/FloatingSpace/FloatingObject.js b/FloatingSpace/FloatingObject.js index 30cccdf24..0e7cb7824 100644 --- a/FloatingSpace/FloatingObject.js +++ b/FloatingSpace/FloatingObject.js @@ -89,7 +89,7 @@ function newFloatingObject () { case 'Strategy Part': { thisObject.underlayingObject = newStrategyPart() - thisObject.underlayingObject.initialize(floatingLayer, pSubType) + thisObject.underlayingObject.initialize(floatingLayer, pSubType, thisObject.payload) thisObject.underlayingObject.container.connectToParent(thisObject.container, false, false, true, true, false, false, true, true) break } diff --git a/FloatingSpace/StrategyPart.js b/FloatingSpace/StrategyPart.js index 1602a60d4..3228c90ba 100644 --- a/FloatingSpace/StrategyPart.js +++ b/FloatingSpace/StrategyPart.js @@ -25,10 +25,12 @@ function newStrategyPart () { let floatingLayer let image let imagePath + let payload return thisObject - function initialize (pFloatingLayer, pType) { + function initialize (pFloatingLayer, pType, pPayload) { + payload = pPayload floatingLayer = pFloatingLayer let menuItemsInitialValues = [] @@ -239,7 +241,7 @@ function newStrategyPart () { } thisObject.menu = newCircularMenu() - thisObject.menu.initialize(menuItemsInitialValues) + thisObject.menu.initialize(menuItemsInitialValues, payload) thisObject.menu.container.connectToParent(thisObject.container, false, false, true, true, false, false, true, true) /* Load Part Image */ diff --git a/FloatingSpace/StrategyParts.js b/FloatingSpace/StrategyParts.js index da2a6bb88..9726c15a6 100644 --- a/FloatingSpace/StrategyParts.js +++ b/FloatingSpace/StrategyParts.js @@ -35,12 +35,12 @@ function newStrategyParts () { function createNewStrategyPart (type, pPayload, callBackFunction) { let floatingObject = newFloatingObject() + floatingObject.payload = pPayload floatingObject.initialize('Strategy Part', type, floatingLayer, onInitialized) floatingObject.underlayingObject.type = type function onInitialized (err) { const FRICTION = 0.97 - floatingObject.payload = pPayload switch (type) { case 'Strategy': { diff --git a/StrategySpace/StrategyCollectionItem.js b/StrategySpace/StrategyCollectionItem.js index dc808e2dc..a954d5868 100644 --- a/StrategySpace/StrategyCollectionItem.js +++ b/StrategySpace/StrategyCollectionItem.js @@ -50,6 +50,11 @@ function newStrategyCollectionItem () { } } + function onMenuItemClick (payload) { + console.log('onMenuItemClick') + payload.profile.upLabel = payload.profile.upLabel + '1' + } + function createPart (partType, name, node, parentNode, title) { let payload = { profile: { @@ -62,8 +67,6 @@ function newStrategyCollectionItem () { notes: [] } - let imageId // 'My Image.png' - if (title !== undefined) { payload.profile.upLabel = title } else { @@ -71,9 +74,9 @@ function newStrategyCollectionItem () { } payload.profile.downLabel = name + payload.node = node payload.parentNode = parentNode - - node.payload = payload + payload.onMenuItemClick = onMenuItemClick canvas.floatingSpace.strategyParts.createNewStrategyPart(partType, payload, onStrategyPartCreated)