47 lines
1.4 KiB
JavaScript
47 lines
1.4 KiB
JavaScript
import { OptionsColor, setRangeValue } from "tsparticles-engine";
|
|
import { AbsorberSize } from "./AbsorberSize";
|
|
export class Absorber {
|
|
constructor() {
|
|
this.color = new OptionsColor();
|
|
this.color.value = "#000000";
|
|
this.draggable = false;
|
|
this.opacity = 1;
|
|
this.destroy = true;
|
|
this.orbits = false;
|
|
this.size = new AbsorberSize();
|
|
}
|
|
load(data) {
|
|
if (data === undefined) {
|
|
return;
|
|
}
|
|
if (data.color !== undefined) {
|
|
this.color = OptionsColor.create(this.color, data.color);
|
|
}
|
|
if (data.draggable !== undefined) {
|
|
this.draggable = data.draggable;
|
|
}
|
|
this.name = data.name;
|
|
if (data.opacity !== undefined) {
|
|
this.opacity = data.opacity;
|
|
}
|
|
if (data.position !== undefined) {
|
|
this.position = {};
|
|
if (data.position.x !== undefined) {
|
|
this.position.x = setRangeValue(data.position.x);
|
|
}
|
|
if (data.position.y !== undefined) {
|
|
this.position.y = setRangeValue(data.position.y);
|
|
}
|
|
}
|
|
if (data.size !== undefined) {
|
|
this.size.load(data.size);
|
|
}
|
|
if (data.destroy !== undefined) {
|
|
this.destroy = data.destroy;
|
|
}
|
|
if (data.orbits !== undefined) {
|
|
this.orbits = data.orbits;
|
|
}
|
|
}
|
|
}
|