simplify simulated time implementation

This commit is contained in:
Joeri Exelmans 2025-10-24 08:24:38 +02:00
parent aac77b79f2
commit e527baf81f

View file

@ -41,37 +41,20 @@ export function getWallClkDelay(realtime: TimeRealTime, simtime: number, wallclk
// given a current simulated clock (paused or real time), switch to real time with given time scale // given a current simulated clock (paused or real time), switch to real time with given time scale
export function setRealtime(currentMode: TimeMode, scale: number, wallclktime: number): TimeRealTime { export function setRealtime(currentMode: TimeMode, scale: number, wallclktime: number): TimeRealTime {
if (currentMode.kind === "paused") { return {
return { kind: "realtime",
kind: "realtime", scale,
scale, since: {
since: { simtime: getSimTime(currentMode, wallclktime),
simtime: currentMode.simtime, wallclktime,
wallclktime, },
}, };
};
}
else {
return {
kind: "realtime",
scale,
since: {
simtime: getSimTime(currentMode, wallclktime),
wallclktime,
},
};
}
} }
// given a current simulated clock (paused or real time), switch to paused // given a current simulated clock (paused or real time), switch to paused
export function setPaused(currentMode: TimeMode, wallclktime: number): TimePaused { export function setPaused(currentMode: TimeMode, wallclktime: number): TimePaused {
if (currentMode.kind === "paused") { return {
return currentMode; // no change kind: "paused",
} simtime: getSimTime(currentMode, wallclktime),
else { };
return {
kind: "paused",
simtime: getSimTime(currentMode, wallclktime),
};
}
} }