import { Text, Container } from 'pixi.js';
/**
* Дебаг-оверлей: FPS и произвольные строки статистики.
* Добавьте view в uiRoot и вызывайте update(dt) каждый тик.
*/
export class DebugOverlay {
readonly view: Container;
private text: Text;
private lines: string[] = [];
private acc = 0;
private frames = 0;
private fps = 0;
constructor(enabled = true) {
this.view = new Container();
this.view.visible = enabled;
this.text = new Text({
text: '',
style: { fontFamily: 'monospace', fontSize: 8, fill: 0x00ff88, lineHeight: 10 }
});
this.view.addChild(this.text);
}
/** Задать строки статуса (fps подставляется автоматически). */
setLines(lines: string[]): void {
this.lines = lines;
}
update(dt: number): void {
this.acc += dt;
this.frames++;
if (this.acc >= 0.5) {
this.fps = Math.round(this.frames / this.acc);
this.acc = 0;
this.frames = 0;
}
this.text.text = `fps ${this.fps}\n${this.lines.join('\n')}`;
}
}