mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-17 17:51:24 +01:00
refactor: generate provinces end
This commit is contained in:
parent
2c35122bb8
commit
4dc5648310
4 changed files with 8 additions and 7 deletions
|
|
@ -69,8 +69,8 @@ async function generate(options?: IGenerationOptions) {
|
||||||
// renderLayer("biomes");
|
// renderLayer("biomes");
|
||||||
renderLayer("burgs");
|
renderLayer("burgs");
|
||||||
renderLayer("routes");
|
renderLayer("routes");
|
||||||
renderLayer("states");
|
// renderLayer("states");
|
||||||
// renderLayer("religions");
|
renderLayer("provinces");
|
||||||
|
|
||||||
// pack.cells.route.forEach((route, index) => {
|
// pack.cells.route.forEach((route, index) => {
|
||||||
// if (route === 2) drawPoint(pack.cells.p[index], {color: "black"});
|
// if (route === 2) drawPoint(pack.cells.p[index], {color: "black"});
|
||||||
|
|
|
||||||
|
|
@ -10,12 +10,11 @@ export function generateProvinces(
|
||||||
cultures: TCultures,
|
cultures: TCultures,
|
||||||
features: TPackFeatures,
|
features: TPackFeatures,
|
||||||
cells: Pick<IPack["cells"], "i" | "c" | "h" | "t" | "f" | "culture" | "state" | "burg">
|
cells: Pick<IPack["cells"], "i" | "c" | "h" | "t" | "f" | "culture" | "state" | "burg">
|
||||||
) {
|
): {provinceIds: Uint16Array; provinces: TProvinces} {
|
||||||
TIME && console.time("generateProvinces");
|
TIME && console.time("generateProvinces");
|
||||||
|
|
||||||
const percentage = getInputNumber("provincesInput");
|
const percentage = getInputNumber("provincesInput");
|
||||||
if (states.length < 2 || percentage === 0)
|
if (states.length < 2 || percentage === 0) return {provinceIds: new Uint16Array(cells.i.length), provinces: [0]};
|
||||||
return {provinceIds: new Uint16Array(cells.i.length), provinces: [] as TProvinces[]};
|
|
||||||
|
|
||||||
const coreProvinces = generateCoreProvinces(states, burgs, cultures, percentage);
|
const coreProvinces = generateCoreProvinces(states, burgs, cultures, percentage);
|
||||||
const provinceIds = expandProvinces(percentage, coreProvinces, cells);
|
const provinceIds = expandProvinces(percentage, coreProvinces, cells);
|
||||||
|
|
@ -31,7 +30,7 @@ export function generateProvinces(
|
||||||
cells
|
cells
|
||||||
}); // mutates provinceIds
|
}); // mutates provinceIds
|
||||||
|
|
||||||
const provinces = [...coreProvinces, ...wildProvinces];
|
const provinces: TProvinces = [0, ...coreProvinces, ...wildProvinces];
|
||||||
|
|
||||||
TIME && console.timeEnd("generateProvinces");
|
TIME && console.timeEnd("generateProvinces");
|
||||||
return {provinceIds, provinces};
|
return {provinceIds, provinces};
|
||||||
|
|
|
||||||
4
src/types/pack/provinces.d.ts
vendored
4
src/types/pack/provinces.d.ts
vendored
|
|
@ -11,4 +11,6 @@ interface IProvince {
|
||||||
removed?: boolean;
|
removed?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
type TProvinces = IProvince[];
|
type TNoProvince = 0;
|
||||||
|
|
||||||
|
type TProvinces = [TNoProvince, ...IProvince[]];
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue