kopia lustrzana https://github.com/backface/turtlestitch
Implemented both ways of Screenshot naming
rodzic
e1c74e75f3
commit
fa02caef5d
49
objects.js
49
objects.js
|
@ -3706,16 +3706,53 @@ SpriteMorph.prototype.reactToDropOf = function (morph, hand) {
|
||||||
morph.slideBackTo(hand.grabOrigin);
|
morph.slideBackTo(hand.grabOrigin);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
SpriteMorph.prototype.newCostumeNameCached = function (data) {
|
||||||
|
if (this.screenshotNames.hasOwnProperty(data)) { // Screenshot naming
|
||||||
|
this.screenshotNames[data] += 1;
|
||||||
|
data += '(' + this.screenshotNames[data] + ')';
|
||||||
|
} else {
|
||||||
|
this.screenshotNames[data] = 0;
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
};
|
||||||
|
|
||||||
|
SpriteMorph.prototype.newCostumeNameFn = function (name) {
|
||||||
|
var costume,
|
||||||
|
foundSameName = false,
|
||||||
|
foundIndex = false,
|
||||||
|
lastIndex = 0,
|
||||||
|
re;
|
||||||
|
for(i = 1; i <= this.costumes.length(); i++) { // Find a costume with the same name
|
||||||
|
costume = this.costumes.at(i); // Get the ith costume
|
||||||
|
if (costume != undefined) {
|
||||||
|
if (costume.name === name) { // Same name exists
|
||||||
|
foundSameName = true;
|
||||||
|
}
|
||||||
|
if (foundSameName) { // Scan for indexes
|
||||||
|
re = new RegExp(name + '\\(\\d+\\)'); // Reg Exp to check for digits
|
||||||
|
if (re.test(costume.name)) { // The costume name matches
|
||||||
|
lastIndex = parseInt(costume.name.match(/\d+/)[0]);
|
||||||
|
foundIndex = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (foundSameName) {
|
||||||
|
if (foundIndex) {
|
||||||
|
lastIndex += 1;
|
||||||
|
return name + '(' + lastIndex + ')'; // New index with a +1
|
||||||
|
}
|
||||||
|
return name + '(1)'; // No indexing has started so start it off with a (1)
|
||||||
|
}
|
||||||
|
return name;
|
||||||
|
};
|
||||||
|
|
||||||
SpriteMorph.prototype.doScreenshot = function (imgSource, data) {
|
SpriteMorph.prototype.doScreenshot = function (imgSource, data) {
|
||||||
var canvas,
|
var canvas,
|
||||||
stage = this.parentThatIsA(StageMorph),
|
stage = this.parentThatIsA(StageMorph),
|
||||||
costume;
|
costume;
|
||||||
if (this.screenshotNames.hasOwnProperty(data)) { // Screenshot naming
|
//data = this.newCostumeNameFn(data);
|
||||||
this.screenshotNames[data] += 1;
|
data = this.newCostumeNameCached(data); // Uncomment to profile
|
||||||
data += '(' + this.screenshotNames[data] + ')';
|
|
||||||
} else {
|
|
||||||
this.screenshotNames[data] = 0;
|
|
||||||
}
|
|
||||||
if (imgSource[0] === "pen trails") {
|
if (imgSource[0] === "pen trails") {
|
||||||
canvas = stage.trailsCanvas;
|
canvas = stage.trailsCanvas;
|
||||||
costume = new Costume(canvas, data).copy(); // Copy is required to prevent mutation
|
costume = new Costume(canvas, data).copy(); // Copy is required to prevent mutation
|
||||||
|
|
Ładowanie…
Reference in New Issue