diff --git a/src/sprite_editor.js b/src/sprite_editor.js index 16c4500..cc19918 100644 --- a/src/sprite_editor.js +++ b/src/sprite_editor.js @@ -24,8 +24,20 @@ export class SpriteEditor { }); input.addEventListener("change", async () => { for (const file of input.files) { + const rootName = file.name; + let fullName = file.name; + for (let i = 0; this.sprites.some((x) => x.name === fullName); ++i) { + const extensionIdx = rootName.split("").findLastIndex((x) => x === "."); + let name = rootName; + let extension = ""; + if (extensionIdx !== -1) { + name = rootName.slice(0, extensionIdx); + extension = rootName.slice(extensionIdx); + } + fullName = `${name}-${i}${extension}`; + } this.addSprite({ - name: file.name, + name: fullName, mime: file.type, bytes: await fetch(URL.createObjectURL(file)).then((x) => x.bytes()), });