Merge pull request #893 from fsih/nameName

Unique sprite and backdrop names
This commit is contained in:
DD Liu 2018-01-12 10:33:43 -05:00 committed by GitHub
commit c6c01e7c93
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -268,6 +268,8 @@ class VirtualMachine extends EventEmitter {
targets.forEach(target => { targets.forEach(target => {
this.runtime.targets.push(target); this.runtime.targets.push(target);
(/** @type RenderedTarget */ target).updateAllDrawableProperties(); (/** @type RenderedTarget */ target).updateAllDrawableProperties();
// Ensure unique sprite name
if (target.isSprite()) this.renameSprite(target.id, target.getName());
}); });
// Select the first target for editing, e.g., the first sprite. // Select the first target for editing, e.g., the first sprite.
if (wholeProject && (targets.length > 1)) { if (wholeProject && (targets.length > 1)) {
@ -448,7 +450,7 @@ class VirtualMachine extends EventEmitter {
addBackdrop (md5ext, backdropObject) { addBackdrop (md5ext, backdropObject) {
return loadCostume(md5ext, backdropObject, this.runtime).then(() => { return loadCostume(md5ext, backdropObject, this.runtime).then(() => {
const stage = this.runtime.getTargetForStage(); const stage = this.runtime.getTargetForStage();
stage.sprite.costumes.push(backdropObject); stage.addCostume(backdropObject);
stage.setCostume(stage.sprite.costumes.length - 1); stage.setCostume(stage.sprite.costumes.length - 1);
}); });
} }
@ -629,7 +631,7 @@ class VirtualMachine extends EventEmitter {
*/ */
setEditingTarget (targetId) { setEditingTarget (targetId) {
// Has the target id changed? If not, exit. // Has the target id changed? If not, exit.
if (targetId === this.editingTarget.id) { if (this.editingTarget && targetId === this.editingTarget.id) {
return; return;
} }
const target = this.runtime.getTargetById(targetId); const target = this.runtime.getTargetById(targetId);