@react-three/p2
Version:
2D physics based hooks for react-three-fiber
33 lines (29 loc) • 765 B
text/typescript
import { useEffect } from 'react'
import type { ProviderProps } from './Provider'
import type { WorldPropName } from './setup'
import type { CannonWorkerAPI } from './cannon-worker-api'
type Props = Pick<Required<ProviderProps>, WorldPropName> & { worker: CannonWorkerAPI }
export function useUpdateWorldPropsEffect({
axisIndex,
broadphase,
gravity,
iterations,
tolerance,
worker,
}: Props) {
useEffect(() => {
worker.axisIndex = axisIndex
}, [axisIndex])
useEffect(() => {
worker.broadphase = broadphase
}, [broadphase])
useEffect(() => {
worker.gravity = gravity
}, [gravity])
useEffect(() => {
worker.iterations = iterations
}, [iterations])
useEffect(() => {
worker.tolerance = tolerance
}, [tolerance])
}