soiz1's picture
Upload 811 files
30c32c8 verified
raw
history blame
1.74 kB
class YourExt {
constructor(runtime, id) {
//ext stuff
this.runtime = runtime;
this.menuIconURI = null;
this.blockIconURI = null;
this.colorScheme = ["#41e2d0", "#0DA57A"];
}
getInfo() {
return {
id: "gameutils",
name: "GameUtils",
blockIconURI: this.blockIconURI,
menuIconURI: this.menuIconURI,
color1: this.colorScheme[0],
color2: this.colorScheme[1],
blocks: [{
"opcode": "LoadProject",
"blockType": "command",
"text": "Load Project from [url]",
"arguments": {
"url": {
"type": "string",
"defaultValue": ""
}
}
}, ]
}
}
async LoadProject(args, util) {
try {
const req = await fetch(args.ul)
if (req.status == 200) {
vm.loadProject(await req.blob())
} else {
console.error("Could not load project")
}
} catch (e) {
console.error(e)
}
}
}
(function() {
var extensionClass = YourExt;
if (typeof window === "undefined" || !window.vm) {
Scratch.extensions.register(new extensionClass());
} else {
var extensionInstance = new extensionClass(window.vm.extensionManager.runtime);
var serviceName = window.vm.extensionManager._registerInternalExtension(extensionInstance);
window.vm.extensionManager._loadedExtensions.set(extensionInstance.getInfo().id, serviceName);
};
})()