mirror of
https://github.com/Terncode/pixel.horse.git
synced 2026-09-24 21:55:52 +02:00
tslint changes
This commit is contained in:
@@ -1,38 +1,38 @@
|
||||
import { Injectable, NgZone } from '@angular/core';
|
||||
|
||||
export interface FrameLoop {
|
||||
init(): void;
|
||||
destroy(): void;
|
||||
init(): void;
|
||||
destroy(): void;
|
||||
}
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class FrameService {
|
||||
constructor(private zone: NgZone) {
|
||||
}
|
||||
create(frame: (delta: number) => void) {
|
||||
const zone = this.zone;
|
||||
let ref = 0;
|
||||
let last = 0;
|
||||
constructor(private zone: NgZone) {
|
||||
}
|
||||
create(frame: (delta: number) => void) {
|
||||
const zone = this.zone;
|
||||
let ref = 0;
|
||||
let last = 0;
|
||||
|
||||
function tick(now: number) {
|
||||
ref = requestAnimationFrame(tick);
|
||||
frame((now - last) / 1000);
|
||||
last = now;
|
||||
}
|
||||
function tick(now: number) {
|
||||
ref = requestAnimationFrame(tick);
|
||||
frame((now - last) / 1000);
|
||||
last = now;
|
||||
}
|
||||
|
||||
return {
|
||||
init() {
|
||||
if (!ref) {
|
||||
last = performance.now();
|
||||
zone.runOutsideAngular(() => ref = requestAnimationFrame(tick));
|
||||
}
|
||||
},
|
||||
destroy() {
|
||||
cancelAnimationFrame(ref);
|
||||
ref = 0;
|
||||
}
|
||||
};
|
||||
}
|
||||
return {
|
||||
init() {
|
||||
if (!ref) {
|
||||
last = performance.now();
|
||||
zone.runOutsideAngular(() => ref = requestAnimationFrame(tick));
|
||||
}
|
||||
},
|
||||
destroy() {
|
||||
cancelAnimationFrame(ref);
|
||||
ref = 0;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user