prevent duplicate names
This commit is contained in:
parent
fb8c5e2961
commit
dd4b2bc36c
@ -24,8 +24,20 @@ export class SpriteEditor {
|
|||||||
});
|
});
|
||||||
input.addEventListener("change", async () => {
|
input.addEventListener("change", async () => {
|
||||||
for (const file of input.files) {
|
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({
|
this.addSprite({
|
||||||
name: file.name,
|
name: fullName,
|
||||||
mime: file.type,
|
mime: file.type,
|
||||||
bytes: await fetch(URL.createObjectURL(file)).then((x) => x.bytes()),
|
bytes: await fetch(URL.createObjectURL(file)).then((x) => x.bytes()),
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user