Merge pull request #1086 from mortendybdal/feature/add-sprite-3

Included a function to add sprite 3  to vm
This commit is contained in:
Andrew Sliwinski 2018-05-01 08:38:08 -04:00 committed by GitHub
commit 326d1c491a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -398,6 +398,32 @@ class VirtualMachine extends EventEmitter {
this.installTargets(targets, extensions, false)); this.installTargets(targets, extensions, false));
} }
/**
* Add a single sb3 sprite.
* @param {string} target JSON string representing the sprite/target.
* @returns {Promise} Promise that resolves after the sprite is added
*/
addSprite3 (target) {
// Validate & parse
if (typeof target !== 'string') {
log.error('Failed to parse sprite. Non-string supplied to addSprite3.');
return;
}
target = JSON.parse(target);
if (typeof target !== 'object') {
log.error('Failed to parse sprite. JSON supplied to addSprite3 is not an object.');
return;
}
const jsonFormatted = {
targets: [target]
};
return sb3
.deserialize(jsonFormatted, this.runtime, null)
.then(({targets, extensions}) => this.installTargets(targets, extensions, false));
}
/** /**
* Add a costume to the current editing target. * Add a costume to the current editing target.
* @param {string} md5ext - the MD5 and extension of the costume to be loaded. * @param {string} md5ext - the MD5 and extension of the costume to be loaded.