diff --git a/src/lib/blocks.js b/src/lib/blocks.js index f86f5e29f40..db74aa619df 100644 --- a/src/lib/blocks.js +++ b/src/lib/blocks.js @@ -149,6 +149,20 @@ export default function (vm) { return sprites; }; + const allSpritesMenu = function () { + const sprites = []; + for (const targetId in vm.runtime.targets) { + if (!Object.prototype.hasOwnProperty.call(vm.runtime.targets, targetId)) continue; + if (vm.runtime.targets[targetId].isOriginal) { + if (!vm.runtime.targets[targetId].isStage) { + sprites.push([vm.runtime.targets[targetId].sprite.name, vm.runtime.targets[targetId].sprite.name]); + } + } + } + if (sprites.length === 0) return [['', '']]; + return sprites; + }; + const cloneMenu = function () { if (vm.editingTarget && vm.editingTarget.isStage) { const menu = spriteMenu(); @@ -391,6 +405,11 @@ export default function (vm) { this.jsonInit(json); }; + ScratchBlocks.Blocks.sensing_sprites.init = function () { + const json = jsonForMenuBlock('SPRITE', allSpritesMenu, ScratchBlocks.Colours.sensing, []); + this.jsonInit(json); + }; + ScratchBlocks.Blocks.sensing_touchingobjectmenu.init = function () { const mouse = ScratchBlocks.ScratchMsgs.translate('SENSING_TOUCHINGOBJECT_POINTER', 'mouse-pointer'); const edge = ScratchBlocks.ScratchMsgs.translate('SENSING_TOUCHINGOBJECT_EDGE', 'edge'); diff --git a/src/lib/make-toolbox-xml.js b/src/lib/make-toolbox-xml.js index 67e3506a482..69da9535ff4 100644 --- a/src/lib/make-toolbox-xml.js +++ b/src/lib/make-toolbox-xml.js @@ -279,6 +279,8 @@ const looks = function (isInitialSetup, isStage, targetId, costumeName, backdrop + ${blockSeparator} + ` : ` @@ -310,6 +312,9 @@ const looks = function (isInitialSetup, isStage, targetId, costumeName, backdrop ${blockSeparator} + + + ${blockSeparator} @@ -526,6 +531,8 @@ const sound = function (isInitialSetup, isStage, targetId, soundName, colour) { + ${blockSeparator} + ${categorySeparator} `; @@ -575,6 +582,7 @@ const events = function (isInitialSetup, isStage, targetId, colour) { + ${categorySeparator} `; @@ -924,13 +932,14 @@ const sensing = function (isInitialSetup, isStage, targetId, colour) { + ${blockSeparator} ${blockSeparator} - + ${categorySeparator} `; @@ -1229,6 +1238,7 @@ const operators = function (isInitialSetup, isStage, targetId, colour) { + ${blockSeparator}