UNPKG

polygonjs-engine

Version:

node-based webgl 3D engine https://polygonjs.com

36 lines (31 loc) 791 B
import {NodeEvent} from '../../../poly/NodeEvent'; import {BaseState} from './Base'; import {Poly} from '../../../Poly'; export class ErrorState extends BaseState { private _message: string | undefined; set(message: string | undefined) { if (this._message != message) { if (message) { Poly.warn(`[${this.node.fullPath()}] error: '${message}'`); } this._message = message; this.on_update(); } } message() { return this._message; } clear() { this.set(undefined); } active(): boolean { return this._message != null; } protected on_update() { if (this._message != null) { // console.warn("new error", message, this.self.fullPath()) this.node.setContainer(null, `from error '${this._message}'`); } this.node.emit(NodeEvent.ERROR_UPDATED); } }