initial
This commit is contained in:
64
services/Clock/DevClock.js
Normal file
64
services/Clock/DevClock.js
Normal file
@@ -0,0 +1,64 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user