refactor
This commit is contained in:
27
src/main.ts
27
src/main.ts
@@ -63,6 +63,25 @@ let state: GameState = createInitialState(setup);
|
||||
let isNewGameModalOpen = false;
|
||||
let previousScoreSnapshot: ScoreSnapshot[] | null = null;
|
||||
|
||||
function rebuildSetup(overrides: Partial<SetupState> = {}) {
|
||||
setup = createSetupState(
|
||||
overrides.playerCount ?? setup.playerCount,
|
||||
overrides.columns ?? setup.columns,
|
||||
overrides.rows ?? setup.rows,
|
||||
overrides.startingNodesPerPlayer ?? setup.startingNodesPerPlayer,
|
||||
overrides.sunbeamChance ?? setup.sunbeamChance,
|
||||
overrides.diseaseChance ?? setup.diseaseChance,
|
||||
overrides.seedInputs ?? setup.seedInputs,
|
||||
overrides.paletteOrder ?? setup.paletteOrder,
|
||||
overrides.initiativeMode ?? setup.initiativeMode,
|
||||
overrides.biddingOrderRule ?? setup.biddingOrderRule,
|
||||
overrides.weatherDraftEnabled ?? setup.weatherDraftEnabled,
|
||||
overrides.winCondition ?? setup.winCondition,
|
||||
overrides.maxRounds ?? setup.maxRounds,
|
||||
overrides.topLeafTarget ?? setup.topLeafTarget,
|
||||
);
|
||||
}
|
||||
|
||||
function getLiveExposureScores() {
|
||||
return buildEnergySimulation(state).scores;
|
||||
}
|
||||
@@ -1307,7 +1326,7 @@ function attachEvents() {
|
||||
if (output) {
|
||||
output.textContent = input.value;
|
||||
}
|
||||
setup = createSetupState(Number(input.value), setup.columns, setup.rows, setup.startingNodesPerPlayer, setup.sunbeamChance, setup.diseaseChance, setup.seedInputs, setup.paletteOrder, setup.shuffleTurnOrder, setup.initiativeMode, setup.biddingOrderRule, setup.weatherDraftEnabled, setup.winCondition, setup.maxRounds, setup.topLeafTarget);
|
||||
rebuildSetup({ playerCount: Number(input.value) });
|
||||
render();
|
||||
});
|
||||
document.querySelector<HTMLInputElement>("#column-count")?.addEventListener("change", (event) => {
|
||||
@@ -1316,7 +1335,7 @@ function attachEvents() {
|
||||
return;
|
||||
}
|
||||
|
||||
setup = createSetupState(setup.playerCount, Math.max(6, Math.min(24, columns)), setup.rows, setup.startingNodesPerPlayer, setup.sunbeamChance, setup.diseaseChance, setup.seedInputs, setup.paletteOrder, setup.shuffleTurnOrder, setup.initiativeMode, setup.biddingOrderRule, setup.weatherDraftEnabled, setup.winCondition, setup.maxRounds, setup.topLeafTarget);
|
||||
rebuildSetup({ columns: Math.max(6, Math.min(24, columns)) });
|
||||
render();
|
||||
});
|
||||
document.querySelector<HTMLInputElement>("#row-count")?.addEventListener("change", (event) => {
|
||||
@@ -1325,7 +1344,7 @@ function attachEvents() {
|
||||
return;
|
||||
}
|
||||
|
||||
setup = createSetupState(setup.playerCount, setup.columns, Math.max(6, Math.min(24, rows)), setup.startingNodesPerPlayer, setup.sunbeamChance, setup.diseaseChance, setup.seedInputs, setup.paletteOrder, setup.shuffleTurnOrder, setup.initiativeMode, setup.biddingOrderRule, setup.weatherDraftEnabled, setup.winCondition, setup.maxRounds, setup.topLeafTarget);
|
||||
rebuildSetup({ rows: Math.max(6, Math.min(24, rows)) });
|
||||
render();
|
||||
});
|
||||
document.querySelector<HTMLInputElement>("#starting-nodes")?.addEventListener("change", (event) => {
|
||||
@@ -1334,7 +1353,7 @@ function attachEvents() {
|
||||
return;
|
||||
}
|
||||
|
||||
setup = createSetupState(setup.playerCount, setup.columns, setup.rows, Math.max(1, nextValue), setup.sunbeamChance, setup.diseaseChance, setup.seedInputs, setup.paletteOrder, setup.shuffleTurnOrder, setup.initiativeMode, setup.biddingOrderRule, setup.weatherDraftEnabled, setup.winCondition, setup.maxRounds, setup.topLeafTarget);
|
||||
rebuildSetup({ startingNodesPerPlayer: Math.max(1, nextValue) });
|
||||
render();
|
||||
});
|
||||
document.querySelector<HTMLInputElement>("#sunbeam-chance")?.addEventListener("change", (event) => {
|
||||
|
||||
Reference in New Issue
Block a user