Include the origin blockId of the top block being dragged.

This is required by the GUI in order to take a snapshot of the blocks for the backpack. Only the ID is needed, the rest can be done by the GUI.
This commit is contained in:
Paul Kaplan 2018-11-01 14:13:07 -04:00
parent 5593c9ab3e
commit 596d0c4f5f
3 changed files with 6 additions and 5 deletions

View file

@ -340,7 +340,7 @@ class Blocks {
// Drag blocks onto another sprite // Drag blocks onto another sprite
if (e.isOutside) { if (e.isOutside) {
const newBlocks = adapter(e); const newBlocks = adapter(e);
optRuntime.emitBlockEndDrag(newBlocks); optRuntime.emitBlockEndDrag(newBlocks, e.blockId);
} }
} }
break; break;

View file

@ -1857,9 +1857,10 @@ class Runtime extends EventEmitter {
/** /**
* Emit event to indicate that the block drag has ended with the blocks outside the blocks workspace * Emit event to indicate that the block drag has ended with the blocks outside the blocks workspace
* @param {Array.<object>} blocks The set of blocks dragged to the GUI * @param {Array.<object>} blocks The set of blocks dragged to the GUI
* @param {string} topBlockId The original id of the top block being dragged
*/ */
emitBlockEndDrag (blocks) { emitBlockEndDrag (blocks, topBlockId) {
this.emit(Runtime.BLOCK_DRAG_END, blocks); this.emit(Runtime.BLOCK_DRAG_END, blocks, topBlockId);
} }
/** /**

View file

@ -96,8 +96,8 @@ class VirtualMachine extends EventEmitter {
this.runtime.on(Runtime.BLOCK_DRAG_UPDATE, areBlocksOverGui => { this.runtime.on(Runtime.BLOCK_DRAG_UPDATE, areBlocksOverGui => {
this.emit(Runtime.BLOCK_DRAG_UPDATE, areBlocksOverGui); this.emit(Runtime.BLOCK_DRAG_UPDATE, areBlocksOverGui);
}); });
this.runtime.on(Runtime.BLOCK_DRAG_END, blocks => { this.runtime.on(Runtime.BLOCK_DRAG_END, (blocks, topBlockId) => {
this.emit(Runtime.BLOCK_DRAG_END, blocks); this.emit(Runtime.BLOCK_DRAG_END, blocks, topBlockId);
}); });
this.runtime.on(Runtime.EXTENSION_ADDED, blocksInfo => { this.runtime.on(Runtime.EXTENSION_ADDED, blocksInfo => {
this.emit(Runtime.EXTENSION_ADDED, blocksInfo); this.emit(Runtime.EXTENSION_ADDED, blocksInfo);