@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
31 lines • 2.2 kB
JavaScript
import { TgdLogger } from "./../log.js";
import { nextId } from "./../utils/id.js";
export class TgdPainter {
constructor(name) {
this.id = nextId();
/**
* This attribute has no other purpose than debugging.
* Its value is not used by Tgd.
*/
this.name = `${this.id} Painter`;
this.active = true;
if (name)
this.name = `${this.id} ${name}`;
}
get nameUniq() {
const { name, id } = this;
if (name.startsWith(id))
return name;
return `${id} ${name}`;
}
get hierarchy() {
return {
[this.active ? this.name : `${this.name} (Inactive)`]: null,
};
}
debug(caption) {
console.debug(caption ?? `${this.name} (id: ${this.id}, active: ${this.active})`);
}
}
TgdPainter.log = new TgdLogger();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWludGVyL3BhaW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBSXRDLE1BQU0sT0FBZ0IsVUFBVTtJQWE1QixZQUFZLElBQWE7UUFWVCxPQUFFLEdBQUcsTUFBTSxFQUFFLENBQUE7UUFFN0I7OztXQUdHO1FBQ0ksU0FBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsVUFBVSxDQUFBO1FBRTNCLFdBQU0sR0FBRyxJQUFJLENBQUE7UUFHaEIsSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUE7SUFDOUMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUNwQyxPQUFPLEdBQUcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFNRCxJQUFJLFNBQVM7UUFDVCxPQUFPO1lBQ0gsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxFQUFFLElBQUk7U0FDOUQsQ0FBQTtJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBZ0I7UUFDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxVQUFVLElBQUksQ0FBQyxFQUFFLGFBQWEsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDdEYsQ0FBQzs7QUFsQ2UsY0FBRyxHQUFHLElBQUksU0FBUyxFQUFFLEFBQWxCLENBQWtCIn0=