DNDGamePlayer: Electron редактор сцен, презентация, упаковка electron-builder

Made-with: Cursor
This commit is contained in:
Ivan Fontosh
2026-04-19 14:16:54 +08:00
commit a6cbcc273e
82 changed files with 22195 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
import path from 'node:path';
import { app } from 'electron';
export function getProjectsRootDir(): string {
return path.join(app.getPath('userData'), 'projects');
}
export function getProjectsCacheRootDir(): string {
return path.join(app.getPath('userData'), 'projects-cache');
}
/**
* Каталоги `…/projects` из других имён приложения в `%AppData%` (родитель `userData`).
* Если когда‑то меняли `app.setName`, проекты могли остаться в соседней папке — их подхватываем при старте.
*/
export function getLegacyProjectsRootDirs(): string[] {
const cur = getProjectsRootDir();
const parent = path.dirname(app.getPath('userData'));
const siblingNames = ['DnD Player', 'dnd-player', 'DNDGamePlayer', 'dnd_player'];
const out: string[] = [];
for (const n of siblingNames) {
const p = path.join(parent, n, 'projects');
if (p !== cur) out.push(p);
}
return out;
}