@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
46 lines (45 loc) • 1.2 kB
JavaScript
;
import { ObjectNamedFunction6, ObjectNamedFunction1 } from "./_Base";
import { getWFCSolver, getWFCBuilder } from "../../core/wfc/WFCRegister";
import { Poly } from "../Poly";
export class setWFCSoftConstraint extends ObjectNamedFunction6 {
static type() {
return "setWFCSoftConstraint";
}
func(object, floorId, quadId, tileId, rotation, quadSeed, configSeed) {
const solver = getWFCSolver(object);
if (!solver) {
Poly.warn("setWFCSoftConstraint: no solver found");
return;
}
return solver.addSoftContraint({
object,
floorId,
quadId,
tileId,
rotation,
//
stepsCount: -1,
quadSeed,
configSeed
});
}
}
export class WFCBuild extends ObjectNamedFunction1 {
static type() {
return "WFCBuild";
}
func(builderObject, solverObject) {
const builder = getWFCBuilder(builderObject);
const solver = getWFCSolver(solverObject);
if (!(builder && solver)) {
if (!solver) {
Poly.warn("WFCBuild: no solver found");
} else {
Poly.warn("WFCBuild: no builder found");
}
return;
}
return builder.update(builderObject, solverObject);
}
}