import { pause, checkPropTypes, UUIDRegex } from '../lib.js';
import { Object3D, Vector2, Vector3, Quaternion, Group, Mesh } from '../../node_modules/three/build/three.module.js';
import { Reporter } from '../reporter/reporter.js';
import { Component } from './component.js';
/**
* Info component, no dependencies, is exported as object (not array)
*/
class InfoComponent extends Component {
/**
* @param {Reporter} reporter
* @param {Object} settings
* @param {UUID} [settings.id]
* @param {string} [settings.name]
* @param {Boolean} [settings.debug]
*/
constructor(reporter, settings) {
super(
reporter,
settings,
);
}
static _exportName = {
singular: 'info',
plural: 'info'
};
autoUpdateStatus(){
for (let part of Component.parts) {
for (let quality of Component.qualities) {
this._status[part][quality].setState('ready');
}
}
}
// this should never be called
async _build(part, quality, dependencies) {
this._setContent(
part,
quality,
this
);
return this;
}
toJSON() {
const arrayedExport = super.toJSON();
// console.log(arrayedExport)
const finalExport = { [ this.exportName ]: arrayedExport[ this.exportName ][0] };
// console.log(finalExport)
return finalExport;
}
}
export { InfoComponent };