mirror of
https://github.com/scratchfoundation/scratch-vm.git
synced 2024-12-23 14:32:59 -05:00
Add an example core blocks category using the extension spec.
This commit is contained in:
parent
7807dcecb4
commit
bc2824dfdc
1 changed files with 44 additions and 0 deletions
44
src/blocks/scratch3_core_example.js
Normal file
44
src/blocks/scratch3_core_example.js
Normal file
|
@ -0,0 +1,44 @@
|
|||
const BlockType = require('../extension-support/block-type');
|
||||
|
||||
/**
|
||||
* An example core block implemented using the extension spec.
|
||||
* This is not loaded as part of the core blocks in the VM but it is provided
|
||||
* and used as part of tests.
|
||||
*/
|
||||
class Scratch3CoreExample {
|
||||
constructor (runtime) {
|
||||
/**
|
||||
* The runtime instantiating this block package.
|
||||
* @type {Runtime}
|
||||
*/
|
||||
this.runtime = runtime;
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {object} metadata for this extension and its blocks.
|
||||
*/
|
||||
getInfo () {
|
||||
return {
|
||||
id: 'coreExample',
|
||||
name: 'CoreEx', // This string does not need to be translated as this extension is only used as an example.
|
||||
blocks: [
|
||||
{
|
||||
opcode: 'exampleOpcode',
|
||||
blockType: BlockType.REPORTER,
|
||||
text: 'example block'
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Example opcode just returns the name of the stage target.
|
||||
* @returns {string} The name of the first target in the project.
|
||||
*/
|
||||
exampleOpcode () {
|
||||
return this.runtime.getTargetForStage().getName();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = Scratch3CoreExample;
|
Loading…
Reference in a new issue