@kitten-science/kitten-scientists
Version:
Add-on for the wonderful incremental browser game: https://kittensgame.com/web/
43 lines • 1.26 kB
JavaScript
import { isNil } from "@oliversalzburg/js-utils/data/nil.js";
import { consumeEntriesPedantic } from "../tools/Entries.js";
import { Races } from "../types/index.js";
import { SettingMax, SettingTrigger } from "./Settings.js";
export class EmbassySetting extends SettingMax {
#race;
get race() {
return this.#race;
}
constructor(race, enabled = false) {
super(enabled);
this.#race = race;
}
}
export class EmbassySettings extends SettingTrigger {
races;
constructor(enabled = false) {
super(enabled);
this.races = this.initRaces();
}
initRaces() {
const items = {};
for (const item of Races) {
// Leviathans have no embassies.
if (item === "leviathans") {
continue;
}
items[item] = new EmbassySetting(item);
}
return items;
}
load(settings) {
if (isNil(settings)) {
return;
}
super.load(settings);
consumeEntriesPedantic(this.races, settings.races, (race, item) => {
race.enabled = item?.enabled ?? race.enabled;
race.max = item?.max ?? race.max;
});
}
}
//# sourceMappingURL=EmbassySettings.js.map