Skip to content

Commit

Permalink
Merge pull request #1086 from mortendybdal/feature/add-sprite-3
Browse files Browse the repository at this point in the history
Included a function to add sprite 3  to vm
  • Loading branch information
thisandagain committed May 1, 2018
2 parents 8a9818d + 41be65b commit 326d1c4
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions src/virtual-machine.js
Original file line number Diff line number Diff line change
Expand Up @@ -398,6 +398,32 @@ class VirtualMachine extends EventEmitter {
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.
* @param {string} md5ext - the MD5 and extension of the costume to be loaded.
Expand Down

0 comments on commit 326d1c4

Please sign in to comment.