2022-07-07 08:00:23 +02:00
|
|
|
import { Work } from "../../Work/Work";
|
|
|
|
import { IPlayer } from "../IPlayer";
|
|
|
|
|
|
|
|
export function start(this: IPlayer, w: Work): void {
|
|
|
|
if (this.currentWork !== null) {
|
2022-09-06 15:07:12 +02:00
|
|
|
this.currentWork.finish(true);
|
2022-07-07 08:00:23 +02:00
|
|
|
}
|
|
|
|
this.currentWork = w;
|
|
|
|
}
|
|
|
|
export function process(this: IPlayer, cycles = 1): void {
|
|
|
|
if (this.currentWork === null) return;
|
2022-09-06 15:07:12 +02:00
|
|
|
const finished = this.currentWork.process(cycles);
|
2022-07-07 08:00:23 +02:00
|
|
|
if (finished) {
|
2022-07-14 23:43:08 +02:00
|
|
|
this.finishWork(false);
|
2022-07-07 08:00:23 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
export function finish(this: IPlayer, cancelled: boolean): void {
|
|
|
|
if (this.currentWork === null) return;
|
2022-09-06 15:07:12 +02:00
|
|
|
this.currentWork.finish(cancelled);
|
2022-07-07 08:00:23 +02:00
|
|
|
this.currentWork = null;
|
2022-07-22 00:27:23 +02:00
|
|
|
this.focus = false;
|
2022-07-07 08:00:23 +02:00
|
|
|
}
|