feat: functionality and icons

This commit is contained in:
TrèsAbhi committed 2024-03-15 12:28:29 -05:00
1 parent 035f751bf1
commit 787d3ae6ea
8 files changed
+253 -40

No files matched your search

+25 -21
View File
@@ -1,4 +1,4 @@
import { readdir } from 'fs/promises';
import { readdir, writeFile } from 'fs/promises';
import { parse as parsePath } from 'path';
import { Vector3Tuple } from 'three';
import { parse as parseYaml } from 'yaml';
@@ -369,10 +369,6 @@ export async function definitions(production: boolean) {
);
const tankXps = new Map<number, number>();
const gunXps = new Map<number, number>();
const turretXps = new Map<number, number>();
const engineXps = new Map<number, number>();
const trackXps = new Map<number, number>();
await Promise.all(
nations.map(async (nation) => {
@@ -406,6 +402,10 @@ export async function definitions(production: boolean) {
);
for (const tankKey in tankList.root) {
const gunXps = new Map<number, number>();
const turretXps = new Map<number, number>();
const engineXps = new Map<number, number>();
const trackXps = new Map<number, number>();
const tank = tankList.root[tankKey];
const tankPrice: TankDefinitionPrice =
typeof tank.price === 'number'
@@ -891,28 +891,28 @@ export async function definitions(production: boolean) {
});
});
});
Object.values(tankDefinitions[tankId].turrets).forEach((turret) => {
turret.xp = turretXps.get(turret.id);
Object.values(turret.guns).forEach((gun) => {
gun.xp = gunXps.get(gun.id);
});
});
Object.values(tankDefinitions[tankId].engines).forEach((engine) => {
engine.xp = engineXps.get(engine.id);
});
Object.values(tankDefinitions[tankId].tracks).forEach((track) => {
track.xp = trackXps.get(track.id);
});
}
}),
);
Object.values(tankDefinitions).forEach((tank) => {
tank.xp = tankXps.get(tank.id);
Object.values(tank.turrets).forEach((turret) => {
turret.xp = turretXps.get(turret.id);
Object.values(turret.guns).forEach((gun) => {
gun.xp = gunXps.get(gun.id);
});
});
Object.values(tank.engines).forEach((engine) => {
engine.xp = engineXps.get(engine.id);
});
Object.values(tank.tracks).forEach((track) => {
track.xp = trackXps.get(track.id);
});
});
Object.values(tankDefinitions).forEach((tank) => {
@@ -1084,6 +1084,10 @@ export async function definitions(production: boolean) {
}
});
writeFile(
'test.tanks.cdon.lz4',
Buffer.from(superCompress(tankDefinitions), 'base64'),
);
await commitAssets(
'definitions',
[