generated from electron/electron-quick-start
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfilegenerator.js
38 lines (36 loc) · 1.14 KB
/
filegenerator.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
let path = require("path");
let fs = require("fs");
const { argv } = require("process");
let p = argv[2];
let pre = `
interface prefabs {
[index:string]:any
}
`;
let pre2 = `
interface room_dir {
[index:string]:any
}
`
let imports = [];
let exp = ["export let prefabs:prefabs = {"];
let imports2 = [];
let exp2 = ["export let rooms:room_dir = {"];
fs.readdirSync(path.join(p,"./src/game/objects")).forEach((file) => {
if(file !== "prefabs.ts" && file !=="abstract"){
let name = file.substr(0,file.length - 3);
imports.push(`import {${name}} from "./${name}";`)
exp.push(`\t${name}:${name},`)
}
});
fs.readdirSync(path.join(p,"./src/game/rooms")).forEach((dir) => {
if(dir.indexOf(".json") === -1){
if(dir !== "rooms.ts" && dir !=="abstract"){
let name = dir.substr(0,dir.length - 3);
imports2.push(`import {${name}} from "./${name}";`)
exp2.push(`\t${name}:${name},`)
}
}
});
fs.writeFileSync(path.join(p,"src/game/objects/prefabs.ts"),pre + imports.join("\n") + "\n" + exp.join("\n") + "\n}")
fs.writeFileSync(path.join(p,"src/game/rooms/rooms.ts"),pre2 + imports2.join("\n") + "\n" + exp2.join("\n") + "\n}")