|
1 |
| -import { mustExist } from "@oliversalzburg/js-utils/lib/nil.js"; |
| 1 | +import { isNil, mustExist } from "@oliversalzburg/js-utils/lib/nil.js"; |
2 | 2 | import { TickContext } from "./Engine.js";
|
3 | 3 | import { TabManager } from "./TabManager.js";
|
4 | 4 | import { UserScript } from "./UserScript.js";
|
@@ -65,9 +65,15 @@ export class TimeManager {
|
65 | 65 | // Get the current metadata for all the referenced buildings.
|
66 | 66 | const metaData: Partial<Record<TimeItem, ChronoForgeUpgradeInfo | VoidSpaceUpgradeInfo>> = {};
|
67 | 67 | 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); |
69 | 70 |
|
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; |
71 | 77 | const panel =
|
72 | 78 | build.variant === TimeItemVariant.Chronoforge
|
73 | 79 | ? this.manager.tab.cfPanel
|
@@ -192,7 +198,11 @@ export class TimeManager {
|
192 | 198 | turnOnChronoFurnace() {
|
193 | 199 | const chronoFurnace = this._host.game.time.getCFU("blastFurnace");
|
194 | 200 | 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 | + } |
196 | 206 | button.controller.handleToggleAutomationLinkClick(button.model);
|
197 | 207 | }
|
198 | 208 | }
|
|
0 commit comments