Skip to content

Commit f156d5b

Browse files
fix(time): Unavailable features crash KS
1 parent 379d8c7 commit f156d5b

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

packages/kitten-scientists/source/TimeManager.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { mustExist } from "@oliversalzburg/js-utils/lib/nil.js";
1+
import { isNil, mustExist } from "@oliversalzburg/js-utils/lib/nil.js";
22
import { TickContext } from "./Engine.js";
33
import { TabManager } from "./TabManager.js";
44
import { UserScript } from "./UserScript.js";
@@ -65,9 +65,15 @@ export class TimeManager {
6565
// Get the current metadata for all the referenced buildings.
6666
const metaData: Partial<Record<TimeItem, ChronoForgeUpgradeInfo | VoidSpaceUpgradeInfo>> = {};
6767
for (const build of Object.values(builds)) {
68-
metaData[build.building] = mustExist(this.getBuild(build.building, build.variant));
68+
const buildMeta = this.getBuild(build.building, build.variant);
69+
metaData[build.building] = mustExist(buildMeta);
6970

70-
const model = mustExist(this.getBuildButton(build.building, build.variant)).model;
71+
const buildButton = this.getBuildButton(build.building, build.variant);
72+
if (isNil(buildButton)) {
73+
// Not available in this build of KG.
74+
continue;
75+
}
76+
const model = buildButton.model;
7177
const panel =
7278
build.variant === TimeItemVariant.Chronoforge
7379
? this.manager.tab.cfPanel
@@ -192,7 +198,11 @@ export class TimeManager {
192198
turnOnChronoFurnace() {
193199
const chronoFurnace = this._host.game.time.getCFU("blastFurnace");
194200
if (!mustExist(chronoFurnace.isAutomationEnabled)) {
195-
const button = mustExist(this.getBuildButton("blastFurnace", TimeItemVariant.Chronoforge));
201+
const button = this.getBuildButton("blastFurnace", TimeItemVariant.Chronoforge);
202+
if (isNil(button)) {
203+
// Not available in this build of KG.
204+
return;
205+
}
196206
button.controller.handleToggleAutomationLinkClick(button.model);
197207
}
198208
}

0 commit comments

Comments
 (0)