Files
Andrey Sharshov 9487728656 initial
2025-11-16 18:54:31 +01:00

65 lines
1.4 KiB
JavaScript

import Clock from "services/Clock/Clock.js";
export default class DevClock extends Clock {
constructor() {
super();
window.addEventListener("keyup", e => {
if (this.timeScale) {
this.previousNonZeroTimeScale = this.timeScale;
}
switch (e.key) {
case "p":
case "P":
this.togglePause();
break;
case "1":
this.setTimeScale(1);
break;
case "2":
this.setTimeScale(2);
break;
case "3":
this.setTimeScale(3);
break;
case "8":
this.setTimeScale(0.25);
break;
case "9":
this.setTimeScale(0.5);
break;
case "0":
this.setTimeScale(1);
break;
case "ArrowLeft":
this.setTimeScale(this.previousNonZeroTimeScale * 0.5);
break;
case "ArrowRight":
this.setTimeScale(this.previousNonZeroTimeScale * 2);
break;
case "ArrowUp":
this.setTimeScale(1);
break;
case "ArrowDown":
this.setTimeScale(this.timeScale ? 0 : this.previousNonZeroTimeScale);
break;
}
});
}
pause() {
super.pause();
console.log("Paused");
}
resume() {
super.resume();
console.log("Resumed");
}
togglePause() {
if (this.paused) this.resume();
else this.pause();
}
}