Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions src/lib/blocks.js
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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');
Expand Down
12 changes: 11 additions & 1 deletion src/lib/make-toolbox-xml.js
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,8 @@ const looks = function (isInitialSetup, isStage, targetId, costumeName, backdrop
</shadow>
</value>
</block>
${blockSeparator}
<block type="looks_backdrops" />
` : `
<block id="${targetId}_switchcostumeto" type="looks_switchcostumeto">
<value name="COSTUME">
Expand Down Expand Up @@ -310,6 +312,9 @@ const looks = function (isInitialSetup, isStage, targetId, costumeName, backdrop
</value>
</block>
${blockSeparator}
<block type="looks_costume" />
<block type="looks_backdrops" />
${blockSeparator}
<block type="looks_changesizeby">
<value name="CHANGE">
<shadow type="math_number">
Expand Down Expand Up @@ -526,6 +531,8 @@ const sound = function (isInitialSetup, isStage, targetId, soundName, colour) {
</shadow>
</value>
</block>
${blockSeparator}
<block type="sound_sounds_menu" />
${categorySeparator}
</category>
`;
Expand Down Expand Up @@ -575,6 +582,7 @@ const events = function (isInitialSetup, isStage, targetId, colour) {
<shadow type="event_broadcast_menu"></shadow>
</value>
</block>
<block type="event_broadcast_menu" />
${categorySeparator}
</category>
`;
Expand Down Expand Up @@ -924,13 +932,14 @@ const sensing = function (isInitialSetup, isStage, targetId, colour) {
<shadow type="text" />
</value>
</block>
<block type="sensing_sprites" />
${blockSeparator}
<block id="current" type="sensing_current"/>
<block type="sensing_dayssince2000"/>
${blockSeparator}
<block type="sensing_username"/>
<block id="online" type="sensing_online"/>
<block type="sensing_loggedin"/>
<block id="online" type="sensing_online"/>
${categorySeparator}
</category>
`;
Expand Down Expand Up @@ -1229,6 +1238,7 @@ const operators = function (isInitialSetup, isStage, targetId, colour) {
</shadow>
</value>
</block>
<block type="operator_constant" />
${blockSeparator}
<block type="operator_distanceTo">
<value name="x1">
Expand Down
Loading