UNPKG

prendy

Version:

Make games with prerendered backdrops using babylonjs and repond

26 lines (25 loc) 1.08 kB
import { forEach } from "chootils/dist/loops"; import { makeEffects } from "repond"; import { meta } from "../meta"; export const placeEffects = makeEffects(({ itemEffect, effect }) => ({ whenToggledWallsChanges: itemEffect({ run({ newValue: toggledWalls, itemId: placeName, itemRefs }) { const { placeInfoByName } = meta.assets; const { wallMeshes } = itemRefs; if (!wallMeshes) return; const placeInfo = placeInfoByName[placeName]; const typedWallNames = placeInfo.wallNames; forEach(typedWallNames, (wallName) => { const newToggle = toggledWalls[wallName]; const wallMesh = wallMeshes[wallName]; // if (wallMesh && newToggle !== undefined) wallMesh.setEnabled(newToggle); if (wallMesh && newToggle !== undefined) wallMesh.checkCollisions = newToggle; }); }, check: { type: "places", prop: "toggledWalls" }, step: "default", atStepEnd: true, }), }));