refactor: generate provinces end

This commit is contained in:
Azgaar 2022-09-08 22:22:03 +03:00
parent 2c35122bb8
commit 4dc5648310
4 changed files with 8 additions and 7 deletions

View file

@ -69,8 +69,8 @@ async function generate(options?: IGenerationOptions) {
// renderLayer("biomes");
renderLayer("burgs");
renderLayer("routes");
renderLayer("states");
// renderLayer("religions");
// renderLayer("states");
renderLayer("provinces");
// pack.cells.route.forEach((route, index) => {
// if (route === 2) drawPoint(pack.cells.p[index], {color: "black"});

View file

@ -10,12 +10,11 @@ export function generateProvinces(
cultures: TCultures,
features: TPackFeatures,
cells: Pick<IPack["cells"], "i" | "c" | "h" | "t" | "f" | "culture" | "state" | "burg">
) {
): {provinceIds: Uint16Array; provinces: TProvinces} {
TIME && console.time("generateProvinces");
const percentage = getInputNumber("provincesInput");
if (states.length < 2 || percentage === 0)
return {provinceIds: new Uint16Array(cells.i.length), provinces: [] as TProvinces[]};
if (states.length < 2 || percentage === 0) return {provinceIds: new Uint16Array(cells.i.length), provinces: [0]};
const coreProvinces = generateCoreProvinces(states, burgs, cultures, percentage);
const provinceIds = expandProvinces(percentage, coreProvinces, cells);
@ -31,7 +30,7 @@ export function generateProvinces(
cells
}); // mutates provinceIds
const provinces = [...coreProvinces, ...wildProvinces];
const provinces: TProvinces = [0, ...coreProvinces, ...wildProvinces];
TIME && console.timeEnd("generateProvinces");
return {provinceIds, provinces};

View file

@ -11,4 +11,6 @@ interface IProvince {
removed?: boolean;
}
type TProvinces = IProvince[];
type TNoProvince = 0;
type TProvinces = [TNoProvince, ...IProvince[]];